-Much of the focus of discussions like this one is on what Linux is like compared to Windows, the user experience, how easy it is, etc... But people seem to forget that by trying to put Linux on the desktops of average users they are going up against the 800lb gorilla in the room on its home turf. Look, in average people's minds "Microsoft = Operating System". No reasonable business-type person would agree to go head-on against a company that has most of the market share on *their* turf. Read any business book, you will be told that the path to ruin is to go directly head-on against a well established mega-player.
The only way to go against MS directly is with disruptive technology (the transistor was disruptive technology, Linux is NOT), or a disruptive business model. Linux has a chance with the latter since it is open source etc... But disruptive doesn't mean "good". There needs to be a way to show irrefutably to the average user that open source is way better for them, in an immediate way.
This, by the way, brings up another problem: marketing. Most people don't even know that Linux exists. How do you get in people's heads? It would take huge funds to create a marketing campaign that stands a chance of being noticed. Or maybe leveraging the current user base for some guerilla marketing to the masses, like letters to the editor of local papers commenting on the MS EULA. But is there a project that is trying to do this in a coordinated and effective way?
-Also while geeks are good at troubleshooting, they tend NOT to make the best customer support service agents. I once joined the firefox forum to inquire about the amount of memory the browser was using. I think another user with the same problem on the thread mentioned it might be a memory leak. We were all then lectured on what a memory leak was and was not. We were never able to get a good answer on our actual problem. We were all told "if it's a bug, submit a bug report", which happens to involve reinstalling a fresh copy of FF with some special something or another and then spend time trying to find the "bug" so that it can be replicated. WTF? do I look like a test engineer here? How is that "support"? This episode almost turned me off from FF completely.