I think the developers are missing the a critical portion of the Microsoft audience, the layperson. The layperson doesn't have the time or desire to get into understanding anything technical, they want to hit the ground running and be productive. From sending email at work to getting images from your digital camera to the web at home, productivity in this case isn't limited to a cubicle where people use Lotus Notes, surf the corp. Intranet and make some PowerPoint presentations, I'm talking about automation and ease of use.
I believe a large part of the problem lies in communication. Communication the noun, not the verb. Linux developers don't have this layperson in mind, Microsoft does. MS has the funds, the writers, graphic designers and programmers working together with the marketing and advertising people who all consult with the user interface, information architecture and physchology and sociology experts; their team is *stacked* and they understand the idea of cross-training. Their enterprise is complex as hell. If linux hopes to conquer a large market then some cross-pollination needs to happen. Just as in my area of interest, the web, when you make a product simply knowing HTML doesn't make you a good author or designer, you simply know HTML. One needs to do some serious cross-training in language and writing, graphic design, information design, psychology and sociology. Good products cannot be produced without a well cross-trained team.
I'm definitly not knocking linux, the OS has a place and is definitly on the rise, but some things aren't there. People want to feel safe about their software, Microsoft is a company, you can own stock, receive an annual report and curse Bill Gates all at the same time, but those are physical connections to their brand. Linux is abstract and virtual, that's difficult for people to grasp. Would you drive a car knowing the car was made the way linux is? When you buy your Honda, you buy into the brand and things associated with this brand, one of which is a history and confidence that goes with this history of doing good business with others.
Partnerships are also lacking, and perhaps this correlates with the point above, that is if linux could get some strong buy-ins from more solid organizations (IBM was great for this) they would have an association with a brand or brands and therefore gain some confidence from the layperson. The layperson trusts IBM but these large companies need to educate and hold hands; explain why linux can be trusted.
Applications aren't there. GIMP isn't Photoshop and the Corel suite is garbage. The macintosh would be my platform of choice if I could play counterstrike on it. Applications make the platform, Sony understands this with the Playstation 2, Microsoft can't keep pace just yet, they need applications for their platform just as linux needs real world apps. Cheap rippoffs are fine, hell, some are fantastic, but there are no substitutes for certain programs and their functionality (just about any piece of software made by Adobe.) People also don't like to change their paradigm, they are used to illustrator 8 so when version 9 comes out and changes things they are pissed! Granted evolution occurs over time. This piggybacks onto hardware support and drivers. If there are no true ADOBE POSTSCRIPT printer drivers for linux you have just eliminated every graphics professional in the entire world that gives a damn about print. Granted the Macintosh has this covered but if linux is to be all thing to all people they have a lot of ground left to cover.
Sorry for my tangential and fragmented comments, I'm late for something and I don't have time to proofread my writing... damn.