Hell, Windows is significantly different than Windows from one version to another. That's not why Linux fails on the desktop.
Linux for servers has a significant advantage when serving up internet-related traffic. The job it needs to do is largely platform-agnostic, because it's working with open standards. Given that it can do the exact same job that MS servers can for zero cost, suddenly it has a real advantage and no real downsides.
However, the desktop is a different story. It's not about the OS so much as the software. Linux has a lot of free software that's pretty good. Some of it is as good as their counterparts on Windows. In my experience, though, most are a far cry from what you can find on Windows. And worse, there are a lot of programs for which there are simply no comparable Linux products at all. The desktop is still about what sort of programs you can run locally, and Windows still completely dominates here.
Of course, like you mentioned, Microsoft did it's absolute damnedest to throw that away by inventing a brand new ecosystem incompatible with their old "legacy" desktop platform. They seem to be backpedaling enough that Windows 9 will probably be a decent OS, but we'll see. I'm just waiting for them to lose their square-blocked, flat shaded, primary colored, butt-fugly UI fetish.