Calamity, people who are keen to point out other people's faults or shortcomings are often trying to make themselves look better by making others look worse. If you were truly happy and content with yourself you would be happy to acknowledge others' good points. You may, of course, also be quick-witted and good with words, in which case you can use these abilities to make your put-downs amusing.
I can't help wondering if at some stage in your life, maybe as a child, you were treated in this way by someone, perhaps a parent or teacher? If so, you may have learned to behave in this way without really realising you were doing it and that's why your friends have had to point out to you that you are actually being abusive, albeit in a humorous way. The good thing is that you have friends who take the trouble (and the risk) to tell you how you come across to others, so now that you know what you're doing you can make an effort to change. I think you will feel much happier if you start acknowledging other people's good points rather than emphasising the bad, and other people will find you a much nicer person to be with.