I think you can do heroic things, but that doesn't necessarily make you a hero. He flew into battle knowing the risks. That's heroic. It doesn't make him a hero. Lots of people criticize McCain. Personally, I try not to criticize his service in the military. As far as I know, he did his duty. And like him or not, I don't see how you can discredit his years as a POW. He was tortured and put though hell. But his years as a politician, those are fair game, and it's my opinion that his many years in politics show he wasn't a hero.
Truthfully, I'm not sure what makes a hero. Is a hero someone without fault? If that's the definition of a hero, then I would argue heroes are a myth and none exist. Is a hero defined by one action in life, or a lifetime of choices. If you measure any man's life, he's bound to have stumbled, so again, can anyone truly be considered a hero? My honest opinion, no one is a hero to everyone, but most people have individuals in life they personally consider heroes where others may never understand why. My hero was always my dad. I don't expect that others would look upon him as a hero, and that's fine, but he was a hero to me.