Linux needs some standards in order to be a mainstream desktop system. Having a minor percent of advanced users using it doesnt count. Standard package distributions , file locations and configurations etc.
Right now these are not there and new users have a big learning curve when trying to use the system.

It's there: Linux Standard Base (LSB). Not yet perfect, but almost

Not to mention mp3's and other cool toys are disabled in most distros by default due to rights limitations, which doesnt help either.

A commercial Linux distribution such as SUSE has mp3 etc. support out of the box. Free distributions such as Debian cannot ship support for mp3 because of legal limitations. NB: Why should I use inferior mp3 to superior ogg? Not clear to me ...

Its a good OS but is not average user friendly.

I think Ubuntu is very much. Many Windows users are trying it. That's a very hopeful sign, I believe.

Companies are not going to target their software to it without standards, it just is not worth the cost. And every advanced developer who comes along can't start there own distribution, that just hurts the cause

Again, there ARE enough standards. What standard are you referring to? The Windows standard? Linux is not Windows, and that is a good thing. Despite this you can use Ubuntu without even touching the console once.

I love different distributions. What's wrong with that? It's choice, remember? Something a Windows user is not used to anymore. Oh, I have choice. Oh, that's frightening ...