Many people are asking this question. Most grass roots Republican activists are not excited about McCain. I myself was a supporter of Duncan Hunter.
The answer is found in an analysis of the New Hampshire primary. What happened there, continues to affect both races. The poles, which in this case were accurate, showed McCain down to Mitt Romney and Obama more than 20 points ahead of Hilary Clinton. Remember that those numbers were accurate.
About now you're saying, wait a minute, how can they be accurate because McCain won and Obama lost? Here's what happened. A large block of Obama voters decided to cross over and vote for McCain. They reasoned that Obama had such a large lead that their votes were not needed on the democratic side. The problem was that so many crossed over that Obama didn't get enough votes to win. That led to the long, drawn out democratic primary. Once McCain got momentum, he continued to attract cross over support in open state primaries. It is significant that McCain did very poorly in caucus and closed primary states where only party members or those registered as Republicans can vote. Romney was weak for a number of reasons. Fred Thompson got in late. McCain was liberal enough to block out Guiliani. Had Romney won in New Hampshire, McCain would probably have been dead on arrival. Further, the Republican primaries might have been fought to the bitter end. That might also have allowed minor candidates like Duncan Hunter to gain momentum.