this describes an insecure person or a narcissist or both. They are well known for exploiting other peoples weaknesses and insecurities and then playing on their emotions after they've hurt someone. They lack empathy, are rude, insensitive and are always looking for reasons to put others down, as if they are perfect themselves.
Trying to shame someone for their lifestyle, looks, weight, race, gender, sexual orientation, religion, etc, etc. Doesn't make you a "tough b****" it just makes you puerile and ignorant. Better yourself instead of tearing others down to make yourself feel superior.
But therein lies the problem, you can't expect others to do as you would... this is something my girls deal with. My hubby and I will do anthing for our girls and so they think others will too. They are always there for their friends no matter what. Many times they are let down by others. Hard to know because many people are not themselves when you first meet them so how to know who is real and who is only there for what they can take?