Linux could work for the average user, at the end of the day there is no technical reason why not. After all Linux(in the form of android), dominates on the cell phone market, where the user base demands greater user friendlyness, has less patience, and wants even more bells and whistles, and is far less compitent with a computer. Linux has been shown to work marvelously with light meters, accellerometers, USB, touch screens(multi-touch even).
The big issue is how consumers by technology. They don't care about specs really, they don't care about merit. They care about branding and imagine. They want their Apple(tm), search with google(tm). Advertising and public relations gurus over the last few decades have build reality distortion bubbles, where people actively identify with brand names. GNU/Linux has no such brand name. They really don't care about "just works". Face it, windows does *not just work*, but people do whatever it takes, because they think windows is what they are supposed to be using. Microsoft presents the image of normalicy and conformity that most people identify with.
Apple on the other hand, presents an elitest artisan, fine craftsman, and intellectually supperior image, that marks the owner as part of an elite group.
Linux cleans up serverside, because it rode the wave of start up culture of the 1990s. If you had a great idea for a new website, but didn't have much capital, you could run a proffesional website with Linux, Apache, Mysql, and PHP out of an old desktop for a fraction of the cost of what constituted a proffesional server, of the day
As these companies grew, they continuted to use linux, and helped it transform into a proffesional class OS, that couldn't help but take notice.
Linux will eventually take over the desktop, and the reason is because microsoft has no real friends, and they have an ever growing list of enemies. Many of those pimpleface teenage nerds they stepped on back in the 1990s are now grown developers and sys admins. Their day dreams are now multi-million dollar products. Linux has a lot of corporate backers, many of which are household names, and some of the largest most powerful corporations in the world.
Whats eventually going to happen is that MS is going to piss off another giant like Google or Samsung to the point they want blood. You'll see a few large companies pour money, time, resouces, advertising into a distro with enough MS haters to accept them, and then use a Free as in beer product into the desktop market, to crush microsoft to prevent them from competing in other markets, by destroying their cash cow.
There will not be a year of the desktop. It will be a decade of pure hell, and microsoft is going to fight tooth and nail, and use every dirty trick in the book to keep the desktop market. They will eventually loose, because the nature of FOSS allows many companies to quietly pool resources behind a single banner, especially a not-for-profit, and allows more to join later without any real effort or diplomacy. Eventually it will be taken from them, and from that point its another 10 years before they go out of business.
The reason why MS will lose the desktop is closed source and closed mentality.
Our universities want to teach operating systems, their use, design, and tweaking. In addition, to do so at zero cost for software. This is where Linux came in.
We have students who have started in College/University with LFS (Linux from Scratch). They get to study internals, networking, security, end-user computing, servers and more. Included of course are the language courses in C, C++, Python, Perl, Bash scripting, etc. etc. And the students had the software and course material on their laptops.
MS had restrictions on what information was available.