Looking back, I've been a Microsoft monkey for as long as I can remember. Commodore 64 aside, one of my earliest computing memories was manipulating DOS on my fathers monochrome display work laptop, and playing Battle Chess off of a floppy. Windows 3.1? I still have my install disks. Hell I think I still have a Windows ME hiding somewhere (you know, just in case the zombies attack).
Over the course of the years, I've caught quite a bit of flak for being a MS Whore, from the Linux Fanatics to the Mac Junkies. After having the pleasure of trying to support Macs on a college campus, coupled with the pretentious cork soaker-ness of the Mac community on a whole, it's a safe bet that I will never jump that ship. I don't even own an IPod because I'm too afraid of being forced to kill some fanboy/girl at the Mac store, and I don't want to go to jail. In fact, I just might dislike Mac enough to buy me a Zune out of spite!
Now for you Linux-ers, my home machine is currently dual booting WinXP64 and Debian 4 (64 bit as well), and I absolutely love my Linux. The thing about Linux is hardware support, especially when it comes to newer hardware. Sure I have gotten most everything working (aside from random issues with my usb mouse), but it's taken me hours of work / research to do, WHICH I THINK IS FUN! I love working through issues and convincing things to function properly, but apparently the wife thinks I should be focusing elsewhere, like on her.
My point is, sometimes its nice to have things just work (OK, so as long as you're not a complete moron, things just work). Microsoft, through debatable tactics, has provided a relatively solid platform and product series to work from. I found a great article here, which explores this topic a little bit, more from the .Net development standpoint, but I think the core message is very applicable to more than just development.
I do believe that MS does have one thing going, and that would be "Solidarity". By providing a cohesive base of operations, it has provided a solid framework for development and growth. Personally, I think that this is one of the major problems with the open source community. There's just too much, and if all the effort was combined for a single purpose, well the sky would be the limit!