So, Windows is familiar. And because it's familiar, it's what people want. It becomes totally circular. This alone is perhaps one of the major reasons Linux is never even considered.
Pretty much any person who has worked with a computer over the last decade will have used a version of Windows at some point – even if they were not cognoscente of the fact that a software layer known as the operating system sat between the hardware and the programs they wish to run.
So, when someone experiences Linux for the first time chances are they will try to do something they've always done before – this might be firing up a web browser, checking e-mail, using instant messaging or any of a myriad of things.
Whatever someone wants to do, their patience can only last so long through not being able to figure out how to do such a regular, routine thing as whatever it is they have conceived in their mind. Other possibilities include typing things in a word processor, connecting a printer or getting online.
If the user's desired task cannot be figured out quickly then the user grows ever more likely to abandon Linux and return to what they are used to.
It's difficult to know how to counter this. The approach I have taken is to gently lead people through replacing applications with the free and open-source equivalents without migrating wholesale on the one occasion. This now gives users the very same software they will find in Linux already and if they do attempt to transition it will not be such a scary prospect.
There's one other pretty major reason people aren't using Linux. Yet, this argument does actually cut at Microsoft too. Let me tell you what it is, and why Linux has it all over its cousins.