It is about the money and applications.
The reason Microsoft is still on the desktop is the money that Microsoft pushes onto the suppliers to get it out. Also, remember that FOSS isn't just for Linux but Windows as well. Point out sites like ninite.com to Windows users and they will learn.
As one person said, purchasing a computer with Linux on it is hard to impossible for most people. Yet they will purchase Android without thinking. Microsoft has made it hard by bundling their OS with the hardware. You pay the licence fee and then get counted as a user, even though you wipe it ASAP.
As for installs, this is my major headache. I would love incremental upgrades but that has not worked. Part of the reason is major code changes and library changes. This can be a real killer. I just installed Fedora 18 on two machines and found that this was a major headache. Someone tried and decided to install 17 instead of 18 due to the poor installer. In all cases it was due to custom disk partitioning and not wanting to use LVM. I have used the Fedora upgrade path with success on simple system in the past but it fails if you use encryption or more customized installation.
Of course, upgrading from Windows XP to Windows 7 and then Windows 8 won't be any easier. In most cases, it would be a purchase of a new computer. So the upgrad mess isn't that nice with Windows either. Of course with Windows in a location without an Internect connection, that can be a problem registering.
Get Windows off of new computers or out of the "Bundled price" and the move to Linux will grow. Once people see that they have to pay an extra $50-100 for their new machine and they will start looking around.
A move to standardized file systems is a good move to make it easier for deveolpers to package their software for multiple systems. The issue comes into the particular libraries being used. I have had issues with different versions of included libraries (dll's) on Windows computers that seem similar to Linux systems. Now there needs to be a simple packager that can create compatible packages and resolve dependencies across distros. A tool that can create RPM or DEB packates.
My father runs a Centos server, plays with different versions of Linux. He purchased an android phone to learn about it and now says he is going to get a new, more powerful one, just a few months after getting his new phone. He is in his 80's. My daughter installed Fedora 12 on her own laptop a few years ago. Using Yumex on Fedora gives me a nice package manager that allows me to search for applications that I may not know about.
I use Linux at work and home. Have not owned or operated a Windows computer (other than forced licenses.) since Windows 3.1. For work, I wish I could get Autocad Inventor but even thought their roots are in Unix, they don't support Linux.
Using LibreOffice I have saved files that were saved in MS Word but wouldn't open again.
Peoples complaints about Video drivers is also becoming mute. I have installed onto both nVidia and ATI cards using the default drivers in Fedora and ended up with 3D graphics. I don't think I have used the closed source drivers for over two years on any machine.