The answer is complex just like the problem. Microsoft tries to be the best solution for all possible scenarios and it's operating system(s) are world class. The main issue is third party software and hardware components.
When manufacturers produce hardware they also have to create the driver for it, a very complex piece of software that causes a lot problems [because of lacking quality control]. Microsoft has tried to improve the process by requiring that they test and certify it, they have no obligation to do so [for third parties]. It's all in the name of improving your system.
The third party software you install is the biggest problem, Microsoft can't take responsibility for individuals and companies that produce the software you use. It's often a case of bad programming or lacking quality control - or simply too many factors creating situations that have not been tested. Microsoft provides the plattform, and they try to do their best to keep that part stable.
Your HP printer is a typical example, the driver is not written by Microsoft, and any HP software not working is usually HP's problem.
Microsoft provides you with a car and engine, if you fill the wrong kind of petrol/gas or drive wildly down the street it's not Microsoft that's doing it.
Microsoft's biggest problem is trying to be all things to all people, but in their defense they have done an excellent job for the most part. The operating systems of the past are bleak by comparison.
Apple's Mac OS X avoids the issues Microsoft has by not supporting legacy hardware or technologies. And they also don't support hardware from any number of parties, they keep their system stable by keeping strict controls over it.