The reason why is the apps.
There are many out there, however, they're not production-quality like Word, Excel, or even WordPerfect (still in use in more law firms than Word!).
It's the apps. MacOS has that niche with video production and the visual arts, and with OSX.1 has finally surpassed the Amiga because of its wicked use of Firewire and apps that support it.
For my DB work, all the good programs run on Windows. Try finding a copy of anything non-Rational that costs under 10K and does DB design. Only ERStudio does, and that's not that good under Linux, and requires a lot of setup for DB clients other than Oracle. Forget using MS SQL Server 2000 under that.
Did I mention client-side Java is also a pig and is worse than a Pentium running Win2K?

. Scratch off Together then.
I need apps outside the compilers and editors, which is what most of Linux seems to be anyway for apps. They don't exist on Linux, and I think it's because of demand. Linux's mentality is that most of the people won't pay for the good apps and will take a GNU substitute, which will do 40% of what you really need. The rest you really have to know your stuff to code around.
The only major companies I have seen really supporting Linux apps are Sun, Oracle, Red Hat, Ximian, and Caldera. The only reason why for the first two is because Microsoft makes a DBMS, OS, and office suite.
There's too much confusion over window managers, graphical environments, and the like to make commercial developers not have to deal with a support nightmare. Most of us don't have time to symlink and script our distro so that ERStudio and the Oracle Client will work. It would be an nightmare to make a commercial Linux app, especially because it would more than likely have close to a 100% piracy rate due to people not wanting to pay for Linux software.
Also, the manufactured Gnome/KDE war on Slashdot by a bunch of skript kiddiez gives people a bad impression. In the minds of many people, slashdot = the linux community.
There are very few good commercial Linux apps because people will not pay for them. Sad to say, but true.
However, people seem to be willing to pay (at least part of the time) for tools for the Windows OS (and I pay dearly due to Embarcadero and BMC software on my machine).
I use Windows for work because it has the apps I need. They have a very good IDE in Visual Studio 6.0. They have Office, and they have DB clients for every database known to man available for it. Threfore, I can do my job and don't have to spend half my time configuring my user environment. I like to be able to sit down and do work without having to code shell scripts half the time.
KDE, Gnome, E, and the rest just are not there yet for apps. I'd like to do something about it, but I also have to work 50 hours a week to get paid and have a life at the same time.
I use Linux occasionally, mainly for servers, and because it's a very good server OS. The desktop portion just is not there. It's getting there as an OS, but it doesn't have the apps that Windows does, especially for DB work. When it gets TOAD, SQL-Progammer 2001, a decent ERStudio, a software architecture package, an Oracle client that doesn't break when you look at it because the latest glibc and it hate each other, a DBArtisan that doesn't need Linux kludging, and a UNIFIED CLIPBOARD under X, then I'll consider it ready.
Until then, I'll continue to use Linux for home, web server work, and as a good firewall.