If you go to a computer store and buy a machine, chances are it comes with Windows XP or Vista, and with good reason. If these computers came with linux, well, the world might just end.
When people use a computer, they have a few things in mind, like appearance, usability, and community. When they first load an OS, they want to be welcomed to an easy to use interface. They want an interface that is easy to learn, and simple.
With windows, you get just that. Turn the computer on, set up your account, and the sky is the limit.
The same applies to the mac.
With linux, you are greeted to an ugly grub prompt, that has a few options that may confuse you. Then, code scrolls in front of your eyes, as you are shocked by the disarray of characters in front of you. Finally, maybe, you are in gnome or kde.
At this point, chances are you want to do something like play an mp3, or browse the internet. Staring at an empty desktop, you don't know where to start. If you are clever, you will find your way to totem, or something of the sort. But try to play an mp3, and you reach a roadblock: you need to get codecs. To the layperson, this can be a daunting task. You spend hours on the internet, looking for means to accomplish the task. Finally, you figure it out, and realize that ALSA or ESD crashes when you try to play music. Sure, fixing this could be simple to a linux expert, but to average Joe, its bewildering.
The bottom line is, using and configuring linux is like finding your way through an endless maze; no matter what you do, you just can't get it perfect. There is always room for major improvement.
In Windows and Mac OS X, it is easy to familiarize yourself with the interface.
A perfect example is found in installing applications.
Windows:
Double click an .exe file, press next a few times, and the application runs with a flawless gui.
Linux:
At best, use Synaptic Package Manager to hunt down the application, mark your changes, and press accept. So far so good. But now what? Where is the application? How do I use the gui? Why is there a .conf file in .etc? I don't know how to edit a conf file. What are those pound signs? Why can't this thing just work?
If you are not so lucky to have apt-get, you have to compile from source. Try teaching your grandma to do that and her brain might explode.
Appearance: without major tweakage, gnome and kde are so damn ugly
In windows, the task bar, wallpaper, start menu, and icons just look good.
In a mac, they look even better.
Community: So you are lost in windows, you don't know what you are doing. Just call up dell customer support.
So you are lost in linux. Go online. Look your problem up in forums. Edit a config file. Restart your computer. And BOOM your computer doesn't work anymore.
In conclusion, using linux just isn't practical. Linux experts aren't much help either. They just boast about the negligible advantages of open-source, customized software. Windows and Mac OS accomplish the same tasks with greater ease (i think the word for that is efficiency).
However, if you know what you are doing in linux, and have a lot of time on your hands, are resourceful, and are willing to give up some great native applications, then go for linux. Also go for linux if you are a l33t h4x0r. Otherwise, stick with good-old WinXP.