I think in 2004 the Dems might have won if Edwards was the top of the ticket, maybe if Kerry wasn't on it at all. Edwards has some charisma.
#1 reason why the Dems can't win until they straighten their act up? They keep trying to play ball like the Republicans and they're no good at it.
Look at the primary field. The Republicans got behind McCain months before Hillary/Obama was decided. Was it "undemocratic"? Sure. But look at those months that McCain got to consolidate his base of power while Hillary and Obama damaged each other's reputation. Now that McCain has to actually campaign again, look at all the crazy shit that's coming out, IE health care paying for birth control (McCain cringes).
You can't count on the Democrats to keep their word anymore either, which makes them no better than the Republicans. Look at what all they promised us in the 2006 Congressional elections, that they would get gas prices under control, end the Iraq war, impeach Bush, and end domestic spying. Last time I checked, none of that happened and they granted retroactive immunity to the telecom industry without a peep. Obama promised to fillibuster it, or at least support one and instead voted for it!
<Public perception>So you've got two parties, that do basically the same thing. One wants to ban gays and illegals and send you extra money every year. The other wants to raise taxes, let gays get married in your front yard, and make your kids learn Spanish in school.</Public perception>
Who do you vote for? I think we all know what has been happening. Will it continue? I guess we will see, won't we?