Miauw: I did give reasons already. Most people want stuff to just WORK. Windows does this. Linux does not do this. End of (short) story.
Longer version:
For the vast majority of people, the computer is a tool that allows them to run programs they want to run. The least amount of interference in running those programs is the best system. Windows shows you all your programs graphically, and then you double click on them and they work. Linux might show you a few things graphically if you painstakingly set them up that way, but for the most part, you have to learn and remember a bunch of commands, and then manually install and direct to things to run them. And as we can see in this thread with DF as a case in point: often even experienced users stuff goes wrong during that process, and you need to pour in even more effort and have more expertise to simply get a program running. Let alone people who haven't been using Linux forever, they stand much less of a chance of even being able to play the problem games at all. As somebody mentioned earlier "it only takes like two minutes to install something" -- not only is that a best case scenario / assuming nothing like this happens, but even still compared to 2 seconds to click on an installer, that's a 60x less efficient system for just getting you where you want to be. It also requires a bunch of additional knowledge that takes a lot longer than 2 minutes to learn.
Additionally, tons of programs aren't even offered in a compatible format for Linux without emulators and even greater complexity. Even worse than doing everything manually if you simply want to run a program is not being able to even WITH manual effort, because it simply isn't supported on your system.
The groups of people who favor Linux are:
1) Certainly highly knowledgeable IT staff who need to value certain system features over their own convenience, because that's what they're getting paid for.
2) As somebody very elegantly put it earlier "OS hobbyists" -- people who enjoy fiddling with their OS just for the sake of fiddling with their OS. And being a hobbyist is fine, but you can't act all shocked and go around scoffing at people who, you know, buy their blankets at the store because they just want to stay warm, versus knitting their own by hand. If your goal is to be warm, period, buying a blanket at the store is a better solution. If your goal is to enjoy the intricacies of the process for their own inherent sake because you happen to be into that, then knit your own. If your goal is to run programs, Windows or mac os is the better solution -- abstraction gets you there faster and easier. If your goal is to just futz around with the system, because you happen to find it fun for some reason, then Linux is for you. But like ANY hobby, only a tiny fraction of people will ever be interested in that specific hobby.
^ Power users are not on that list. They might overlap with one of the above two categories, but there are plenty of perfectly knowledgeable users who wouldn't touch Linux with a 10 foot pole. I learned about Linux and what it could do for thoroughness, and then decided "That's really silly, I don't think that sounds fun at all, and it takes longer to do everything I want to do with my computer." I.e. I'm not a natural hobbyist of OS's and nobody is paying me to inconvenience myself for the greater good, so why?
edit: Linux might have a few features that are cool for a normal person, but so does Windows have ones that Linux does not (such as system restore points, and snapping windows to the sides of the screen for document comparison and stuff natively). This washes out, at best, IMO.