As I have said before, the real problem behind Linux (in my opinion) is not really its own fault.
Because Windows has the lions market share, MOST applications and new computers use Windows. How many people could easily find a substitute for everyday programs that work (instantly, and easily) on Linux? Excluding OO, browsers, etc.
Windows just has that advantage. If Linux were sold on desktops at, say BestBuy, with applications, etc, then people would buy and use it. But its not.