Finally UUID results in write amplication in wal logs. Keep that in mind if your app does lot of writes.
Because UUID is 32 bytes, while SERIAL is 4 bytes?
and because it's random and so will touch a lot more pages when you're using it...
I would point out, however, that using a V1 UUID rather than a V4 can help with this as it is sequential, not random (based on MAC address and timestamp + random). There is a trade off, of course, as with V1 if two writes occur on the same computer at the exact same millisecond, there is a very very small chance of generating conflicting UUID’s (see https://www.sohamkamani.com/blog/2016/10/05/uuid1-vs-uuid4/). As there is still a random component, however, this seems quite unlikely.
Avoid UUIDs if you can- map them to something more sensible internally if you have to deal with them.