It's free. It's ridiculously customizable. You can venture into the deepest darkest dodgiest places on the internet without fear of catching a nasty digital disease (please don't read into that too much, I'm actually a pretty normal guy). In other words, you don't have to do things like spend time perusing av-comparatives.org in order to figure out what anti-virus software you should be using these days. Spyware is also a non-issue. Software is stupidly easy to install, and when you're looking for a particular application, you don't have to worry about potentially wasting your time installing something only to find out that the developers definition of "free" was actually synonymous with "crippleware". Further, hunting around for drivers is, the vast majority of the time, unnecessary. That's just some basic stuff for starters.
Linux is, for me, about freedom. Freedom from a long list of annoyances, but more than that, just freedom in general. I like to tinker, and I take issue with anyone who tries to dictate to me how I should be using my PC. Now that I've experienced this freedom; now that I've embraced it, there's just no way I could go back. No way at all. And given that Linux and it's associated software have matured to the point where the available desktop environments are both very usable and visually appealing, I don't feel tempted to in any way, shape or form.
That said, I've been using Linux since Red Hat 5.1, so I've got enough experience to fend for myself in the Linux world. The inexperienced user on the other hand will almost invariably, at some point, end up staring seemingly insurmountable challenges in the face in the course of trying to solve some particular problem, which might (understandably) put them off. But solutions are out there, and the community is, for the most part, a really good one in terms of offering assistance to new users. If you want to give Linux a real shot, for whatever reason, you just need to be prepared to dig in for a while. Some of the best rewards are on the other side.
The irony of this is that I've had almost no problems with viruses or spyware on my own Windows machines. But my friends and relatives have given me lots of experience in scraping the latest Win anti virus nuke ware off of their machines. They are the people that I would like to set up with virus and spyware proof machines; but the same lack of understanding of how to avoid getting spyware in the first place makes trying to set them up with some sort of Linux machine impossible. I've toyed with the idea of trying to move my mother to Windows 7 from XP, but I've come to the same conclusion every time I've contemplated it - there is no way it would be worth all of the bitching and moaning. Her cat managed to hit the F11 key last time I was at her place, and she was freaking out at me about how I had "Changed everything around".
As far as expense goes, I never paid for Windows until the release of Windows 7. My own limited experience with Red Hat, and an Ubuntu release from about four years ago bored me to tears. I understand Windows, and it does what I want. I don't have anything driving me to learn Linux.