This is all true, and I'm not here to say the original implementers did anything wrong. As you say though, UUIDs are a general solution, which means they're not going to be optimal for every problem.
http://www.postgresql.org/docs/8.3/static/datatype-uuid.html makes it look pretty easy…