Another vitally important detail is that Microsoft highly values backward compatibility. THAT’S A GOOD THING, PEOPLE!
Almost always, any program created NOW works on WinXP. That’s an amazing feat. Apple? That’s forced obsolescence taken to the Nth degree. I can’t tell you how many times I’ve seen the latest update of a program “require Lion and up” etc.
I totally disagree, these are extremely rare situations. If you are depending on something any higher than Standard/Home, you are a specialty app and that’s part of your work. Don’t whine about it.
Look, these discussion devolve into MS-bashing where everyone’s an expert and poses as a de facto Consumer Reports critic. In my experience, once I knew the rules, things worked just fine. I have my opinions (Win8 sucks, but I can completely avoid the new interface), but who really cares what I think? One of the reasons I work tech is that I wanted to avoid the boorish conversations between auto buffs about Ford and Chevy. Nothing ever changes, I guess.
Really, Window’s system is not terribly complicated as far as the user is concerned. And in comparison with OSX’s, it’s not any more complicated. What OSX does better is streamline it as far as the user’s PERCEPTION is concerned.
But as a programmer you can protect your customer from being embroiled in Windows abuses, if you follow the rules (funny, it’s the same in the OSX world). Simply install where you are supposed to, and provide your own DLL’s and try to minimize dependencies.