I think that sometimes it's just easier to be with an asshole. Like.. if you forget to call them or are having a bad day where you're really bitchy, it's okay because your boyfriend's already a dick and he won't care. Whereas a nice, sweet boyfriend would constantly be like "Are you okay?", "What did I do?", "What can I do?" .. etc.. At least I know that's one of the many factors with me.
Ooh, and another thing: I can be really arrogant and bitchy on a daily basis sometimes and if I'm with a guy who's the same way, I have no worries. Whenever I'm seeing a sweetheart, I always have to worry about hurting his feelings.. which is not fun.