Well, Kerry signed SF-180 and released all his military records. They apparently showed that some Swift Boat Veterans for Truth, who criticized his Vietnam service during the election, had praised him at the time. Perhaps embarrasingly, however, his grades at Yale were comparable to W's.
I can think of two explanations for his reluctance to release these records earlier, which would have strongly refuted the SBVT charges when it actually mattered
1. He is so vain he didn't want everyone to know about the grades.
2. He has so much pride, he refuses to muck it up with SBVT.
I'd have a lot of respect if it was #2, but everything else about him makes me think #1. Either way it seems like a horrible miscalculation. A strong refuation of the SBVT charges would have helped him immensely during the campaign and I don't think anyone except those already committed to Bush would have cared about the grades.
What I'll never understand about Kerry is why he never made peace with his critics prior to running for Presisdent. It seemed clear that the primary objection was not his service in Vietnam (which seemed clearly honorable, albeit perhaps a bit exaggerated over time) but his activities when he came back, particularly certain statements that could be construed to suggest American serviceman were all or mostly war criminals (regardless of if that is what he actually meant).
Why in his 20 year Senate career didn't he seek out John O'Neil and others and work things out? I'm sure, say 6 or 8 years ago, he could have made some sort of public statement, that he continued to think he was right to protest the war, but he regretted any suggestion that the fault lay with the American soldiers instead of the politicians and O'Neil and many others would have accepted it and that would be that.
It seems like a win-win situation as it would also have given him and his war record publicity as well as prevented the kind of controversy that actually occurred.