I think there are a number of barriers to much more widespread adoption of Linux:
- There are a number of applications that users are familiar with / have to use that are not available in Linux. This is simply because Microsoft has the market by the short & curlies (although is loosing its grip slowly); this leads to a lack of functionality even where alternatives are 'sort of' available. My Garmin 605 is an example of this. I guess most users will cope with Wine, where it works - and it is not as universal as I was led to beleive - I've not tried VirtualBox, but my reading of the issues makes me wary; the comment about having to keep a valid Windows licence is very valid.
- The Linux community don't help themselves. Ask a 'simple' question about how to do stuff, and before long there will be a long set of answers involving wierd acronyms, the terminal window and 'stuff'. Yes, this probably shows the flexibility and adaptability of Linux, but it is seriously off-putting to me as an eager learner. In Windows, you are just told "it don't work" - simples.
- Many of us have had bad previous experiences with "Distros" before Linux came of age, this has left a sour taste in many mouths. This also feeds into the confusing amount of choice about what to superceed a sick Windows installation with. Choice is good, but too much choice for the less technologically savvie is toxic.