For me it is easy to see that McCain will beat Obama. For starters McCain is much more popular than Bush. Sure Obama is very popular, but then again, so was John Kerry. But Kerry lost even though he was running against a 'globally-hated' George Bush. Obama is hardly likely to do much better than John Kerry. For starters, his is not likely to get much of any crossover voters sick of Bush, because try to paint McCain all they want, President Bush is not running for reelection.
Worse for Obama, His Democratic challenger, Hillary Clinton, managed to carve out a good slice of support from her own party that has more in common with McCain than with Obama. So there is a god chance that a sizable number of her supporters, especially independents, will vote for McCain if they are not able to vote for her.
Then there is Iraq. As I said earlier:
"They see and saw in Senator Clinton somebody they value experience in and, in many cases -- in terms of her personal characteristics -- her persistence and strength," the governor said of Clinton's backers. "Many of those same characteristics and more are in Senator McCain. So we think he's going to be able to compete for Senator Clinton's supporters to a significant degree when and if she terminates her campaign." - Politico
...when people go to vote, they will be judging Iraq as is it is at the time that they vote, not at the time that the candidates have staked their position. - Link