Why doesn't Linux catch-on on the desktop if its so good ?
Because it confuses the heck out of the average user, that's why.
Consider: if you want to buy a windows system there is always one current version of Windows out there. Buggy, yes. Insecure, yes. But also predictable. There is only one current version to buy. It always comes fro m the same company. And if something goes wrong you know you can get support from many places - starting with your co-worker.
Now consider Linux: There is a bewildering array of distributions out there. Every one of them is at a different version. There is no one popular choice that you can count on to get started. How does the average Joe decide what to try ? Try googling for an answer, and you come up with conflicting advice from all sides. The fans of every flavor swearing by their flavor.
OK, so assume you are one of the brave ones and pick on a version and install it. Now what about software ? where do you go to get what you need ? how do you know its right for you ?
Of course, I can hear the counter-arguments. Hey its free !! try before you buy ! install something and if it does not work move on to the next thing.
Well, you know, most people don't want to bother.
Its like cars. My father was into cars and fixing them, so every weekend he would find something to tinker with in the garage. I grew up thinking this is how cars are run !! that you are supposed to spend an hour with them every week in the garage.
But I'm not into cars at all. I don't want to spend time fixing the darn things. I just like to drive them. So I will buy cars that are widely available, drive'em, and when they breakdown, I'll take them to a garage. I don't want a DIY car-kit which I have to assemble my self, I don't want interoperability, I don't want flexibility, I don't want to decide where the fuel-injection unit comes from. Just give me a standard car dammit !!!
And that's most people's attitude to computers. They want something proven. They want something that everyone else uses so that when things go wrong they can get quick, pervasive help. Consumer desktop software is like any other consumer product. Brand matters.
For Linux to gain traction at the consumer desktop level, it needs a single, popular version. It needs a single, unified, consistent message that tells people exactly what to get, how to get it, and what to do with it. It needs, in other words, a widely recognized brand pushed by a champion that can set up a pervasive, unified distribution and service network.
In other words, for open software to become more popular at the consumer level, it needs to pick a trick and two from the consumer goods business.