mostly because I had to stick on Windows for video games. and for now, the amount of effort I'm already putting into making Windows functional when it's supposed to work out of the box, makes me scared of going back to Linux. Mostly a worry about changing so many habits and diving back into the unknown
buy hardware that's supported. For some things (storage) virtually everything works. For others, (video cards, latest-gen wifi) you need to make sure it's supported out-of-the-box. It's not worth the headache of trying to get it to work unless you just like geeking out.
if some piece if software or hardware doesn't work, it doesn't work. If you spend more than a half hour (or whatever your limit is) trying to get it to work, just say to yourself 'not available on Linux right now' and move on. Linix has way more access to beta and alpha-level stuff, and that can make it tempting to try to fix whatever problem. Just don't bother.
That said, most of the systems I use Linux on, it just works.