A woman provides twelve reasons:
Not real: Nice guys are too nice. No one can always be that nice unless they’re a saint. They are busy being nice instead of being real and women instinctually don’t trust that. Bad boys “keep it real”. Nice guys don’t want to upset the apple cart.
Respect: No one respects a doormat. Nice guys don’t set boundaries or make any real demands. A bad boy doesn’t let a woman walk all over him or control him. Women can’t respect a man they can control. No respect = No attraction.
Predictable: Most people lead boring, predictable lives, so they’re attracted to people who are exciting and a bit unpredictable. Bad boys are always a challenge. Nice guys are never a challenge. Predictable + No excitement + No challenge = I prefer a bad boy.
I think there is another, more important reason that young women in particular tend to prefer bad boys that is omitted from this otherwise extensive list. When women just want to “have fun” and are not in a relationship-seeking mode, they will tend to avoid sexual relations with men they believe will be inclined to push them for a more lasting relationship. They know the bad boy won’t stick around, which is not the downside that it is usually assumed to be, but is actually a large part of his attraction for them. And better yet, the bad boy can quite convincingly be blamed for not sticking around afterwards, so that the woman is subsequently able to absolve herself of any blame for the relationship failing to go anywhere.
The amusing thing is the way in which women often attempt to hide their casual flings with the bad boys from both their female friends and the men who are potential long-term relationship material alike.