hey p'flower 
well, my theory has been that:
the nice dude, does something wrong once, he'll be remembered for
that one mistake and the baseline of being good is forgotten..
she'll cry bitterly that he doesn't love her anymore and leaves
him..
the horrid dude, does something right once, he's remembered for
that one good thing he's done and the baseline of being a horrible
person is forgotten.. she'll say he loves her and stays with
him...
people forget what happens all the time, and remember the things
that are not typical...
so the nice dude will lose out because the goodness that he is,
will be forgotten..