Sorry to bring up an old thread but I feel that I have some points to add to the conversation after having tried Linux for a few months.
If you want to use Linux, you must be willing to accept sacrifice.
Before all the Linux people start flaming me, here are my reasons:
1. Driver support. While driver support has improved dramatically with Linux, it is still not as perfect as with Windows. Some vendors simply do not write drivers for Linux. In cases where drivers are provided, the sheer number of distros available make it hard for the vendor to write installers for all linux environments. That is why some distros provide their own software repositories from which you can install provided that they have it, whereas others adopt a standard packaging method such as RPM. Thus, many Linux programs come in source form and the maintainers of the distro package it up for you so you can just click to install it. However, if you need a program that is not in the repository, well, then, it's back to source compiling.
2. Optimization. Linux is known for running on old hardware and that contributes to it weakness. If you look at distrowatch.com, alot of the distros are compiled for i386 or i586 for compatability reasons. Hardly any are optimized for i686 or current processors. Again, if you want to get the fastest possible speed, then you need to compile the distro yourself (read Gentoo).
3. Games. I've played Enemy Territory on Linux. Although there was a package I could install, the game itself relies on OSS sound emulation. I was using ALSA. Needless to say, sound didn't work and it wasn't intuitive to get it fixed and I have found many incidences of people having the same problem (and even playing the game without sound because they couldn't fix the problem). THen I dual booted back into Windows and downloaded the Windows version of it and everything worked when I double-clicked the icon. Fortunately, I found a person who found the solution to the linux problem and posted the results on a forum.
4. MS Office vs. OpenOffice. OpenOffice is not fully compatible with MS Office. I am writing my thesis in MS office and it contains objects from Visio. One day, I decided to open it up in OpenOffice 2 and I was amazed that it looked exactly the same. However, when I made some minor changes, saved it back to disk as a MS Office document, and reopened it at a later date, all the imported objects were gone. I mean, the space for the objects where still there, it was just blank. However, if I saved it in the native OpenOffice format, the objects were still there after I saved and resaved it. Good, but then I submitted it, and none of my professors could open the damn thing.
5. Printing. I have 2 inkjet printers. An HP Deskjet and a Canon S800, one for daily use and the other for photo printing. If you want to print borderless photos, Linux is not your OS. I have not found an application for any desktop (gnome, kde, etc) that can do borderless photos like the piece of software that Canon made for Windows (called Photorecord). In my opinion, this simple program that asks you how many photos you want to print, whether or not you want borderless, then goes off and arranges the photos automatically and prints is not matched by any program in Linux. If you want the same functionality, you could download GIMP, but then you'd have to import the photos one by one, rotate them manually, resize them, and then place them on the page so that they don't overlap. Then play around with the margins so you can get borderless.
6. One day, I decided I wanted some eye candy on my Gnome desktop. So I downloaded gDesklets, cool. Then I wanted transparent menus and windows. Nope. can't do it, very buggy when X is running with xcomposite extensions. Oh well. Hey! how about this thing called skippy (which is a clone of the famous Apple's Expose - where you can see a snapshot of all your windows shrunk to fit on your desktop with cool animations). Well, skippy sort of does it... except the snapshot of the window does not represent the current window - only when it was launched. Then there is skippy-xd which can do updates of the window in real time! oh, but it requires the buggy xcomposite extension and has a 2-3 second lag. Oh well. So I dual boot into Windows and see if there anything like this and viola! A free program call Synapse 0.1 beta for Windows not to mention other non-free ones called WinPlosion and TopDesk.
7. I sometimes VPN into my corporate network to do support. In Windows, it was as simple as following the wizard to setup the VPN connection. In Linux, well, hmm... wasn't obvious and I had to go through and learn every setting in the OpenVPN config file.
At this point, I sat back and thought long and hard whether Linux was worth switching to. When I mentally reviewed the things I was doing with Linux. I found that I spent more time tinkering with the OS than getting any actual work done. Every little thing in the OS needs tweaking which is too much for most people especially after an upgrade of certain packages.
If you want to use Linux, you must be willing to accept sacrifice.
Which is why I'm back to Windows. But you can be sure that I will be doing the same thing every year with Linux just to see if I can successfully switch over without making any sacrifice.