Because they think they can't do any better.
I was one of those women. I was wrong. I could do a lot better as anyone who has met my current dh will tell you!
Seriously - I reckon that most men don't show how rubbish they are until a little way into the relationship. If, by that time, you have fallen in love with them then you stick at the relationship telling yourself that no-one is perfect.
Women make excuses for rubbish men because they are embarrassed to admit that they are with someone who is rubbish!