Kerry owed the troops an apology, because whether it was a mistake or not, it still sounded like an insult to the troops. And that is how the troops and many others in America took it. Combine that with the fact that the Democratic Party seem to truly believe that the military is made up of a bunch of stupid people who can't get jobs any place else and you understand why millions of Americans are upset.
Then does Bush owe the nation an apology because he said that his administration is looking for ways to harm the nation - even if he didn't mean it and misspoke, his words said that, so he owes the nation an apology, right?
Kerry owed an apology for botching the joke in the way that sounded like an insult to the troops, not for insulting the troops.
You owe Kerry an apology for arguing that his clear misspeaking without any intent to insult the troops was actual an intentional insult to the troops, fo rfalsely calling Kerry a liar.