The one area of Linux ownership and use where it becomes apparent that there's an assumption that everyone who uses Linux is an expert is hardware support. Your average user doesn't have the time, the energy or the inclination to deal with uncertainty. Also, they usually only have the one PC to play with. Hardware just has to work. There's a very good reason why Microsoft spends a lot of time on hardware compatibility - it's what people want.To clarify a bit, Linux does quite well for older hardware, but new hardware often requires new device drivers, and finding them can be a royal pain. Things like web cams are often not plug-and-play, for instance.
Part of the reason is resources. Device drivers, the part of the operating system that talks to the hardware, are specific to the operating system. That means a company is less likely to throw developers at writing device drivers for operating systems with smaller market share, like Linux or OS X. Also, you can't use a device driver written for Windows on a Linux machine, or vice versa. Why not? Partly technical, but mostly because of ideology. Many of the people who program for Linux feel strongly that the source code for software should be available to the public, but many hardware makers want to keep the source code secret for business and intellectual property reasons. As a result, you don't see attempts at writing, say, adaptor software that would let one operating system use device drivers meant for the other.
If you read the article, skim through the comments at the bottom. They support the author's point nicely.