Linux just isn't practical as a desktop OS for most computer users. Linux users are usually highly technical people, not the average Joe who uses his computer to browse the web and check e-mails etc.
I have run a few distributions of Linux (slackware, red hat, Suse) and I am of the opinion that Linux is not ready for prime time OS. Reasons being:
1. Hardware drivers.
2. Software dependencies. Can you imagine a regular home user having to install GTK in order to run GIMP?
3. Desktop compliance. Applications that are coded for GNOME do not necessarily work for KDE.
4. Games. 3D accelerated game for linux are non-existent more or less. Also, the drivers ATI and NVIDIA supply are crap. Without native support for DirectX, Linux will never be a serious gaming platform.
5. File sharing, I can setup network share folders in seconds, on Linux you have to configure Samba, which can be a pain in the ass.
Linux is great for servers due to reliability and a great wealth of open srouce software (MySQL, Apache, PHP etc) for a home user though, the benefits are noticably lacking.