There is little more idiotic than calling someone a idiot. What exactly is the name caller trying to do? Consider a few possibilities:
(1) The person being called an idiot really is stupid. So what? What would such affirmation actually achieve, apart from upsetting the victim?
"Gee, thanks, I really never thought about it that way before. Cheers for your feedback!"
(2) Then name caller feels a little insecure and can't work out why 'the idiot' is talking and behaving in a certain way. In these circumstances, the fault lies with the person doing the labeling. If you cannot understand someone, this does not mean they are behaving in a stupid way - the contrary might actually be true.
(3) The name caller probably has an emotional insecurity and needs to reaffirm his supposed superiority. Yet, this stance actually betrays the name caller's lack of authority. If one person is less intelligent than another, this does not make them a lesser person. The most clever person may have evil intentions, forever finding creative means of manipulating people. But this very person, becomes less lovable, because of how they behave.
Given a choice, I would take affection over intelligence any day.