Althought I'm not a fan of Microsoft and has been known to speak against it, I've learned it's best to avoid such generalizations. Microsoft could be credited for a number of achievements. For example, their COM, OLE and etc. model is unique (although not prone to hacker attacks ;/). Getting inside Windows, one could find a number of good as well as bad features. However, even some of the open source projects are far from being perfect, unfortunately.
There are places where Microsoft products are indispensable. I'm working with Windows Media Services server now and it doesn't look bad. In fact, I very much like the way they've organized the Server API. Writing custom plug-ins is relatively easy and straightforward (even in C++, which is what I'm using now). Not to mention their latest release of Visual Studio .NET, so far it's proven to be an excellent tool.
Certainly, blue screens of death could be a nuisance at times ;-)