I think we are all guilty of having used terminology that may be offensive to others and not thought of the consequences as we are unable to imagine ourselves as that person because we've never really had to. This is referred to as "social distance" (<a class="postlink" href="http://en.wikipedia.org/wiki/Social_distance" onclick="window.open(this.href);return false;">http://en.wikipedia.org/wiki/Social_distance</a>) and I don't think inherently implies that there is some malicious intent or sense of superiority, especially in younger people.
I can relate a couple personal points of view that can provide perspective. I was a chunky kid in elementary who got teased to a mild degree. Through my teens I became very athletic but grew a bit of a belly in my late 20s after I got married. I had step-kids about the age of 4 and 6 at this time who would call me "fat". I originally took it as a begrudging joke. However, I became angry with one of them during a bad day I had because I had taken offense to being reffered to as something I associated with being lazy and undisciplined. In reality all the kids were communicating was that I wasn't in shape relative to the physical condition they were in by using the word they most closely associate to that scenario. It was me that introduced the "harmful" intent on their part (Freud's theory of Transference) by transferring the feelings (lazy, undisciplined) I felt during the times in childhood to them. I apologized to the kids and explained to them the notion of tact adding to their psychological development.
The psychological maturity of an individual depends on their environment they've grown up in, so to this person the comment about being a idiot might not have seemed like bad manners because he's never been put in a situation where he's been forced to think about what it would be like to handicapped due to not having anyone in that position in their life to relate to.
I came from a small town where the use of politically incorrect terminology was pretty commonplace. Being a Canadian, the closest terminology I can relate would be the use of the word Gretzky which in my time was used to refer to someone who was a dumbass. For those that don't know, Wayne Gretzky is considered the best player of all time in the NHL and did a public servance anouncement for down's syndrome kids in the 80s which you can see here:
[youtube]http://www.youtube.com/watch?v=1FpZDtEbAWM[/youtube]
This commercial spawned the use of the word Gretzky in this negative respect. However, as you can see from this link
http://www.urbandictionary.com/define.php?term=gretzky, the word has at least 4 seperate meanings depending on the social context in which it is used.
From a personal point of view, I come from the school where you temper your language to your audience, but I also don't think that people are intending to personally insult me for the most part so I wouldn't automatically assume someone was and would probably take their word if they apologized.
For those that would argue I haven't experienced it, I also have a gay brother who I love no differently since we found out. However, that doesn't stop me from calling my buds "gay" meaning it in a "lame" context as I do. Even the gay brother uses the gay word in that context. However, I've had to throw some 'bows in his defense for people who've insisted on calling him names because of his orientation. We are an odd creature as people and I think if we all just took as a basic premise that all people strive to do good we'd have less misunderstandings.