It's odd.
I think people who vote for McCain disagree with him in most issues but they perceive him as a "straight-talker" and someone who is "electable" so they vote for him.
It's unfortunate that few conservative voters haven't realized that Duncan Hunter was limited in most debates and then banned from the most recent ones, because the establishments know that he would be popular with conservatives and the establishments don't want a candidate who actually would get a border fence built, who would do something about illegal aliens, who would stop plans for a North American Union, who would stop bad trade deals like NAFTA and CAFTA, who would do something about the unfair trade deal with China, who would bring back manufacturing jobs to the USA, decrease outsourcing, etc.