This is a big subject for me.
Back in summer through winter of 2007, I was really getting big into Linux. I tried out several versions, and liked Kubuntu most. You can see my posts (under the same name I use here) all over the Kubuntu forum
Over the first few weeks, I was in love with the whole Linux concept. I became a big fan of the KDE system -- its speed, the simplicity of the overall design of the operating system itself, the terrific repository system, and the helpful user community that was always there to help me. Little by little, I switched over to Linux full time. I wiped Windows off my desktop and laptop and was in bliss for a while. I was downloading all those terrific free applications, and had my desktop all set up beautifully.
Then one day I needed to set up a wireless network, and the trouble began. I simply could not get my laptop and my desktop to see each other. I logged in hours and hours chasing down every hint and lead and suggestion from all the gurus on the Kubuntu site. They made an honest effort to help me, but it just didn't work. It seems like such a simple thing, but no go on this.
But I was so happy with Linux, I thought I would just live without wireless file sharing. No big deal.
Well, then one day my old Canon scanner broke. I figured, no big deal, I'll just buy a new one. Well, I bought and returned three scanners, and not one of them would work with Linux. Each one had a different problem, but the important thing is they would not scan. I edited countless lines in the Linux files, downloaded drivers, and did all kinds of under-the-hood tinkering, and once in a while I could almost make the scanner work. I bought an HP all-in-one (because everyone says HP works well with Linux), and it wouldn't work. Again, hours and hours logged into the Linux forums for help.
I can live without a wireless network, but I can't live without a printer.
Finally, I realized I was losing way too much time trying to get basic hardware working properly. With a heavy heart, I had to restore Windows to my laptop, and I purchased a new dsesktop with Windows Vista. It hurt, but I had to do it.
Bottom line: I really really really would like to ditch Windows. I love the way Linux works, when I'm running the operating system and software within the repository. But you really hit a lot of potholes when you venture out just a bit.
So now I am using Windows Vista. Not because I like it better, but simply because more hardware drivers work with it.
My hope is that one day soon, Linux developers will get over the last couple of hurdles, then I'll switch to Linux and never go back.