In my opinion, one of the main things holding back Linux is how tricky and tedious it is to install software. Sure, for the software that is listed in the package manager (e.g. Snaptic), it’s simply a matter of ticking it and clicking ‘Apply’. However, if the software is not in there or only an old version is present, this is where the problem lies. With Windows, one just goes to the software author’s website, downloads the latest version and installs it in a few clicks.
To give another example, it’s simple enough to talk most novice users over the phone how to download and install just about anything for Windows. Now, try explaining someone how to download all the dependencies and or even how to compile source code for something not listed in Snaptic or for which a pre-compiled binary is not available for thier Linux build.
The other thing early Netbook makers did badly wrong with their Linux models was putting a restricted build on their netbooks. For example, the Linux OS that came with Asus 7" EEE was heavily crippled where even installing updated software (e.g. new version of OpenOffice) was a tricky and tedious process.