Well, its simple. As much marketing as they do or whatever, consumers don't really care about that stuff in the long term. I mean, today's consumer wants three simple things in a car: efficiency, reliability, and comfort.
GM is hit and miss when it comes to this - the Corvette, is a hot car, with a great engine, and is very good looking. It's a hit. But, I mean, cars like the Cavalier, Aveo, etc. (cars that NORMAL people can afford) - they just aren't anything special. And while Honda/Toyota always had great cars, they're a bit pricy (most of them sell at list price), which kept GM somewhat in the game.
But now that you have brands like Hyundai coming up with cheap cars, great warranties, and I mean, Hyundais just KEEP GETTING BETTER. I mean, its a phenomena almost... I mean, you can get a Sonata LX for $22,000
and you get heated leather seats, automatic temperature control, a all-the-way around airbags, a DOHC V6 with a 5-speed auto, ESC and traction control, power everything, all disc brakes...and it goes on. PLUS THEY HAVE THE BEST WARRANTY EVER!
I mean, the Sonata is almost as good as the CTS, and a HELL of a lot cheaper. I mean, what does GM have to compete? The G6? with a pushrod engine? and drum brakes? It's no wonder people aren't liking GM.
Their cars that cost more than $30,000 seem to be fine. But if you want a bread and butter car, you had better think long and hard about getting a GM...