Here's my question -- Microsoft has a ton of employees and a bottomless expense account, but why can't they make an OS that's as nice as OSX or Linux? It seems to me like it should be the other way around. The guys in high places should easily be able to produce easy-to-use and top-quality software.
because they have no real goal other then to be "innovative" (aka steal other peoples ideas and try to half way market it then delay it 20 years because their team can't produce working code).
Linux is doing so well because it has literally thousands apon thousands of people working on it. The path of development is incredibly fast as ideas can be tested, merged and modified as needed because everything is open. With microsoft you really don't get much access to the underlying code so you are stuck literally in a box of what windows can do.
When compiz first came out it was so new that the graphics drivers didn't even fully support it. They ended up writing interfaces that enabled the extensions they needed to do what they did . later on Nvidia added in the extensions into the drivers and you have what it is today.
OSX is built on top of FreeBSD. Apple actually has a port of the FreeBSD kernel called darwin that supports the added stuff they needed. Apple uses many open source tools and as such doesn't need to make stuff like compilers and uses many open source libraries to get added functionality. Apple simply took a good OS and decided to commercialize it (and they did a very good job).
Microsoft prides themselves on their "backwards compatibility" as such they try to keep every bit of code, even from the 1980s. Have some fun sometime and browse around your windows folder and look at the copyright dates. You can even find blatant copies of BSD code (like the ftp program for example). For the most part the competition "depreciates" stuff as it is no longer used (or has been updated) and it is moved into the legacy category. You can see this in OSX as some programs will require 10.3.4, etc.
For the most part windows programs (and often OSX .app files) include their own libraries (which leads to a much larger memory footprint). In linux almost everything is shared libraries. Instead of making your own XML parser you would use an easily available one for your language. By using shared libraries linux usually comes down with one of the smallest memory footprints (OSX does use shared libraries but it lakes a packaging system like linux so developers will include it within the program package).
Microsoft is simply stuck several years behind, they are crippling the market with their lack of innovation and as such software has come to the point where it is blah. Microsoft simply relies of FUD campaigns, the blatant stupidity of the consumer and paying people off to maintain control.