In psychology (see link below), there are several theories as to why people insult you. They are as follows:
1) Social Identity Theory - This is the idea that humans have a need for being unique. When there are outsiders, people tend to feel threatened and have the need to attack them to preserve self esteem. That's why you'll find white supremacists attack people of color because they feel threatened and vulnerable.
3) Projection - Sigmund Freud argued that people insult others because they have a negative view of themselves. They'd rather see other people having certain flaws than acknowledge their own. In a study done, people who were told their anger was high were more likely to rate someone else's anger higher than their own thus making them have less angry feelings. If you come across someone accusing you of selfish behavior when he or she is clearly being self-centered, it's probably because he or she refuses to acknowledge his or her own selfishness.
4) Ego threat - Another theory suggests that it doesn't matter whether people feel good about themselves or not. What matters is whether or not they are feeling worse about themselves in the present moment. A study done on people who are insulted show that they were more likely to force others to listen to obnoxious noises. If someone is insulting you, it could be because he or she is feeling miserable at the present moment.
What's the conclusion? People tend to store certain unwanted characteristics within their subconscious mind and rather than deal with it, they project them on others. The next time someone insults you, don't take it personally. It's because of an insecurity he or she has. That's why it's important in verbal self defense to not retaliate but rather defuse the verbal abuse. You may not get your verbal abuser to acknowledge his or her flaws but at least you can steer the insults into a more productive way of communication. Next time someone insults you, provide a healthier mean of understanding and expression for your offender.