Oh, there's a truckload of issues!
In the first place, remember that it might be that not all of the flames about Linux online are genuine; corporations have been caught astroturfing, and there's no reason to see them stop. I just posted about astroturfing not long ago:
http://penguinpetes.com/b2evo/index.php?title=a_reminder_that_asstroturfing_exists&more=1&c=1&tb=1&pb=1
It's called astroturfing because people are paid to fake a grassroots movement.
In the second place, Linux and FOSS in general is free, which means that it can't hire those big corporate marketing and PR firms to promote a better image.
In the third place, there's people who just don't like to think for themselves or change. I compared them to having a 'prisoner mentality':
http://penguinpetes.com/b2evo/index.php?title=does_microsoft_impose_a_prisoner_mentali&more=1&c=1&tb=1&pb=1.
And finally in the fourth place, there's the sheer logistics of moving the computing world from Microsoft dominance to Linux dominance. This is the huge, obvious issue that I never see ANYBODY else address, so I did a whopping seven-part mega-essay that begins here:
http://penguinpetes.com/b2evo/index.php?title=the_tragedy_of_linux_you_can_hack_an_os&more=1&c=1&tb=1&pb=1.
Briefly: You can't cure computer illiteracy by slinging Ubuntu CDs at people any more than you can cure reading illiteracy by giving away books. You have to follow through with support. Step one is easy. Step two takes a lifetime. We have thousands of people who want to run out and promote Linux and advocate Linux and give away Linux - Bless them! (most of them anyway) - but we have almost nobody willing to TEACH Linux.
Then there's the anti-FOSS trolls:
http://penguinpetes.com/b2evo/index.php?title=the_six_kinds_of_anti_foss_trolls&more=1&c=1&tb=1&pb=1.
It's really a guaranteed formula for success: sell a bunch of Microsoft ads on your site, flame about Linux, all the Linux users link to your site to flame back, you get tons of traffic + revenue. And I explore other motivations for people to be anti-Linux as well, some of which they can't help. An unfortunate side effect is that otherwise intelligent people read these flames and perpetuate myths about Linux.
I'm sorry to be posting links to half my blog in here, but I just noticed that I've spent half of the past four years struggling to answer this very question. And haven't even gotten all the answers yet.