These days everyone tries to twist the truth and only gives you half the story. Here's a pretty nonpartisan look at that ad:
http://www.factcheck.org/article.aspx?docID=231
One of the men featured, George Elliott, says he made a "terrible mistake" when he accused Kerry of not deserving one of his awards.
Here's what John McCain said about the ad:
McCain : I think the ad is dishonest and dishonorable. As it is none of these individuals served on the boat (Kerry) commanded. Many of his crewmates have testified to his courage under fire. I think John Kerry served honorably in Vietnam.