Another question is why the face definition of `region' has
platform-specific colors for GTK and NS, but not for Windows.
I would actually turn the table and ask why the heck do we have
system-specific defaults for GTK and NS. I thought Emacs was supposed
to behave the same on all platforms, except where it's impossible.
Emacs should respect the user settings even if they are made on
system level. Emacs already respects the user's choice of
system-specific colors on a tty (with `unspecified-fg' and
`unspecified-bg') and some other system-specific customizations.
I don't remember the goal of trying to look the same on all platforms
and indeed Emacs already doesn't look the same on different platforms:
there are different scroll bars, frame decorations, fonts, icons, etc.
So Emacs should adapt to the platform defaults as much as possible.
What is still missing is using just few remaining colors for few platforms.
(And another thing is that the GTK version doesn't respect the user's GTK
settings for the blinking cursor, whereas the Windows version does).