Quote from AAAintheBeltway:
I'm not a McCain fan by any means, but this is really over the top. You imply that he was passed over and forced out of the Navy, but I have never seen anything to substantiate that. He returned home as a national hero, and I'm sure his mentors thought he could do more for the Navy and the country as a Member of Congress than toiling away in the dispirited post -vietnam military.
There is no shame in retiring as a Captain. No doubt he would have made Rear Admiral at least if he had stayed in the Navy, but how far he would have risen is purely speculative.
The problem with your thinking is that promotions at that level are based on COMPETENCE not heroics. His stint at hanoi hilton was absolutely irrelevant as far as his ability to command SHIPS(and thousands of men) properly.
If you look at his career objectively you will realize he had no chance in hell of matching his father's and grandfather's achievement.
There is no shame in retiring as captain unless you had family that achieved much more not once but twice. This is not a minor thing people last name McCain used to stand for a lot in the US Navy and I have no doubt he even got captain because of it.