But the worst part is, this:
So there is a module that handles the pointy-clicky-mousish stuff; a module that handles the window widgets; a module that handles font rendering; a module that handles drawing things to the screen; and desktop managers like Gnome, KDE, fvwm and others which may or may not include any combinatin of the above modules, or may provide them itself -- at the user's option.
...bit could probably do with being a little more *integrated*, be it "commingling-a-l-a-Microsoft" or some technically slightly different way.

The stuff you read about on /. and here and all over the 'Net, all the time: "I can't get font manager Q to work with application Z under window manager R and desktop environment Y"; "How do I set up X to allow cut-and-paste between application G and application J under window manager H?", etc... And my own timid experience, of setting up the mouse to be this kind of hardware, button emulation so-and-so, cursor speed and acceleration this-and-that -- first in some X configuration thingy, and then *again* in (because the previous had absolutely ZERO effect under) some desktop environment... That all just sucks so unbelievably, I can only say Bill's minions *do* really do a much better job of it.

And that's probably precisely *because* this, "the GUI", is such a mess of loosely-related but non-integrated bits that you can't even say precisely where it begins and where it ends.