Enter the smug penguin brigade
Or more accurately, those who don't rely on any single vendor's whims to get a usable environment. I'm not saying "linux is the answer", for it isn't. I am saying that an important concept of the X Windows design is useful here: Provide mechanism, not policy. Bring your own window manager to provide that policy as you see fit. I have my favourite and it works equally well under linux almost entirely regardless of distribution, FreeBSD or another *BSD, or most any other X environment I'd like to use.
There are several problems with how this approach was implemented and certainly, a well-thought out single environment would give a smoother overall "user experience", but at a price. Just look at all the guidelines developers on macosx its aqua environment have to follow. The X interop specifications are possibly worse, but at least you don't get a new spec every OS release. And the whole thing works reasonably well across multiple vendors, platforms, and so on, and with a suitable WM you can have almost any behaviour you want, and it doesn't matter a whit that on the next desktop over it all works quite differently, though running the exact same applications.
This isn't quite true for the one-size-fits-all vendor-fiat approach rolled out across millions of enterprise desktop machines.
The downside? Not suited for people who don't know what they want and are operating under an intuitivity expectation, actively fostered by certain vendors and even free software projects (like various desktop environment projects). It is easy to see why you'd want unitarian homogenity soup if you have to support that sort of audience, of course. Personally, I'll never stop being vaguely disappointed at the poor level of control people choose to have over their own computing environments, such that they'll always need ready access to a helpdesk and never can do without the training wheels.
Maybe in a generation or three, four. Sooner if we teach our young'uns concepts instead of rote. Maybe.