I think wcn00 hit the mark when he talks about 'fiddling' to make some aspect of linux work like it should.
Take wireless networking for example. There dosen't just dosen't seem to be a definitive list of supported hardware that you can trust.
I spent 3 days fiddling with a card that almost every linux networking form said should work natively under linux. Evenually I ended up getting a different card (with the same chipset, mind you) Even then, I had to use ndiswrapper to emulate the windows API to get it to work.
Now I understand that there are issues with manufacturer support, developers getting their hands on reference cards, and even intelectual property issues when it comes to getting drivers made, but until wireless networking "just works" many who would switch to linux just won't. »