Broken -I second what Stranger says.
It's good that you're nice to people, if everyone was like that the world would be a much better place. But you have to develop your filter to work out whether someone is worth being nice to.
Take my recent example, the MedStudent. We met for a first date, got drunk and snogged a lot. She wasn't right for me, in various ways - too loud, brash, bitey. But I saw her again for a second date to see if it was just nerves, and she was as bad as the first time, so I stopped seeing her with an 'it's not you it's me, lack of spark' message.
I didn't feel obliged to see her again, didn't try to find the good in her to make up for the bad. I didn't feel it's better to be with just anyone rather than alone, so I broke it off earlier and moved on.
You don't have to put up with people's shitty behaviour just to be with someone, and you shouldn't be trying to please people who will take advantage. Drop them, take a deep breath, eat some ice cream and move on. There are decent men out there who are worthy of you, it's just that they get snapped up quickly when they try OD. The bad ones keep circulating as they don't go off the market for long, so there seem to be more of them. Avoid.