I've been using Linux since 1998, both on servers and as desktop. I don't even have Windows or any other Microsoft software at home. I'm a Unix system/net administrator and security consultant though... Not quite an average computer user. If you'd have to run some specific graphical/CAD/custom software, you might not have the luxury to choose. Or if you're into mainstream games. I'm not one of those users that tries to convince others the whole time, though I've helped non-technical people transition from Windows to Linux on the desktop successfully. The OS shouldn't matter to people no matter how little they know about computers, if all they do is browse, email, do some office work, play music and watch a movie now and then. Linux is user-friendly, especially when you help people on their way with the hardware setup.
Hardware support shouldn't be an issue to most people either; the only real issue would be the level of support for the latest graphic cards, but it's not as if you're going to be able to play most commercial games in Linux anyway. In fact, I have more faith in the stability of (even minimal) Linux drivers than in the crap some companies dare to ship without any QA review. Let's face it, most of the time it's stuff like drivers that makes your system misbehave and/or crash.
FreeBSD/OpenBSD I've never used as desktop, but at least FreeBSD should do quite well there too, with a bit of luck in hardware choice. Same goes for Solaris really, unless you have the luxury of running it on real Sun hardware of course...
Hardware support for alternative operating systems is often a matter of corporate interest and an economical and often also "political" issue rather than something that Linux (or *BSD) should be directly blamed for. If companies don't provide either drivers or tech specs for their products, it's going to be rather hard to make that hardware work no matter what OS you're in.