I thought that throwing an insult at someone was a classical example of an ad hominem attack.
I'm here stating the fact that it's not.
Here's the Wiki definition (it's good enough for our purpose): "An ad hominem (Latin: "to the man"), short for argumentum ad hominem, is an attempt to link the validity of a premise to a characteristic or belief of the person advocating the premise."
So, an ad hominem fallacy is not just saying something against a person (e.g. insulting him), but saying it as an attempt to undermine his argument. When someone gives reasons for why he believes something, and you offer a psychological motivation as if this -- and not the reasons given -- better explained, or could only explain, why he believes it, then you're trying to undermine the reasons he gave. Instead, the "real" reason for why he believes what he does, you're saying, must be because of this psychological motivation you're attributing to him. That is a classic example of an ad hominem.
When you give poor reasoning for something you believe, and I explain why it's poor, then I'm undermining our argument by taking on your premises, not by insulting you. That's obviously not an ad hominem. If I go on to call you an idiot, then the insult isn't offered as something meant to undermine your reasons, because that work is done. So my insult is no ad hominem...as it isn't attempt to undermine your premises/reasons/arguments.
This applies to all the ad hominems. Sometimes they're relevant and sometimes they're not. A classic example is a slippery slope. If you argue that from one thing it'll lead to another and yet another and finally to some undesirable event, it's not a fallacy if you give good reason to think such a slide would happen. It is a fallacy if there's little reason to think such a slide would happen. Only the latter is a slippery slope fallacy. But a slippery slope is not in itself a fallacy.
Some people here seem to argue that this is not so.
Yeah, the ones who know what they're talking about. The others obviously don't.