Why is UUID column VARCHAR(128)?
Basing on this comment by Damien Tournoud, the idea was to support arbitrary string identifiers.
Since Drupal uses a service to generate UUIDs, using a VARCHAR(128) as database field for the UUID would allow a module to override the current service with one using a different implementation, and using more bytes for the UUID.