There's no reason McCain can't win this thing. It is pretty easy to imagine he can get FL, OH, NC, VA, IN, WV, and MO. At that point, he'd need MN, or WI, or both CO and NV to go for him and he'd win it.
I actually find it very hard to imagine him winning all those states now. There are the generic reasons, such as:
1. He's so far behind. The only candidate in modern times to stage such a comeback was Reagan, and the circumstances driving that comeback don't exist for McCain.
2. He's thoroughly outclassed in spending.
3. He's throughly outclassed in the ground game.
4. He's thoroughly outclassed in campaign discipline and focus.
5. The economy isn't going to cease being a concern by the election, and Obama has led on economic capability since even before the debates.
6. Pre-debates, the electorate was uncertain about Obama as an untested quantity - yet he was still level with or ahead of McCain, whom they thought they knew well. Post-debates, they are now convinced Obama has the leadership qualities they expect in a President. They wanted to like him before, they feel safe liking him now.
7. Conversely, the main constant in McCain's campaign has been change - searching for that one big gesture that'll turn it all around. Picking Palin, the campaign suspension debacle, going negative, and he's hit the reset button this week too. (At least I think he did - it's hard to tell until he actually picks a message to run with.) And people are getting nervous about him. While they're getting comfortable with the notion of President Obama, they're buying into the 'erratic' and 'out of touch' labels with McCain.
8. He chose Palin.
9. Conservatives are deserting him. Partly his fault, for looking weak, pandering to the fringe and so forth. Partly not; the Repubs through the Bush administration have handed too much power to their agitated god-botherers, and the economic crisis has opened faultlines between them and the economic conservatives. McCain doesn't have the political ability to keep them together.
In short, he has no tools (money, ground game, skilled campaigners, or even goodwill) with which to turn things around, not to the extent he needs. There's always the chance of a huge gamechanging external event, but it's extremely unlikely, if it happened it would still have to compete with people's pocketbooks for attention, and McCain would have to be able to take big advantage of it - so far, Obama's been the more capable. But even all that isn't (just) why I find it very hard to see McCain taking all those states.
McCain, you'll recall, was an unlikely victor in the Repub primaries. Conservatives don't really trust him, the base is lukewarm about his credentials. That gave him the chance to appeal to moderates and independents, who get turned off by the free-range crazy, but ever since Palin he's been pandering to the "Amen is Hebrew for 'You betcha!'" bunch, and right now he's pleasing neither group. Furthermore, pleasing the base (show Obama for what he really is OMGWTFROTFHS) is now diametrically opposed to reaching undecideds and moderates (for God's sack, quit it with the hatemongering and show us some priorities! Were hurting here!)
And that's why he can't win all those states - because they're divided between the two camps. He pleases the crazies, he can maybe win NC, VA, IN, possibly even OH if he does an amazing job. But he'll turn off FL, NV, WI, MN, probably CO too. If he doesn't pander, then VA and NC are gone. And OH and MO. (Note that in some states, he really needs both to keep the base and to shore up the independents. Big ask.)
The McCain campaign, right now, is built on two electromagnets. The more he tries to charge them up, the more they repel each other. IMO, that's why he can't win this.