I think about this phrase " a villain will sacrifice the whole world for you, and a hero will sacrifice you for the world".

My reasons are:

Nice people most of the time are people who didn't had a hard life , they may say that they care about x problem, y person but they can't feel it (like a bilionaire who can't feel what a poor man feel everyday)

They are more likely to betray you, to not keep secrets, to not create a strong bond .

A nice guy may tell the police if you did something bad and fuck your life up.

He/She is friendly with everyone so you can't count that he/she will risk it all for you

Now, a "asshole, or a bad person" may care about you more as an individual if you show that you understand his situation and love the person.

I just think that being loved by a person who most people see as evil it's a stronger bond, more real than being loved by someone who love everyone.