Game support. Yes, Wine-x covers that market, but you have to pay for it and it doesn't support everything (ala Blood II). You sometimes need work-arounds for Windows, but these are generally easier to set up.
Driver support for a variety of products. Basic functionality is good and all, but I want just as many driver updates for Linux as I do Windows (if not more seeing as how it's open source).
Dependencies. Not a problem for Gentoo or Debian, but it is for other distros.
Questionnable future. They really need to start making money. We live in a capitalistic society. If a product's good, you've got my money. Yes, updates happen, but I imagine more would happen if there was a monetary gain available. id software's model is recommended by me as it would keep things open source and provide the programmers with a source of income.
Lack of public perception. Linux marketing sucks--plain and simple. The only real public version of Linux is IBM's. It's closed sourced and is strictly there for a serving environment. The public really isn't aware of Linux on the desktop. We know about, but we're computer geeks. Dell, etc. offer Windows and that's all (aside from Gateway, I think).
SCO is also a minor reason. Though everyone is fairly certain that they won't win, there is always that possibility. You go "remove" all the members of SCO, Homey B, and things'll start moving.
Windows is all ready established. If it ain't broke, why fix it? I think it is broke (or will soon be broken), but I'm in the minority in this.