In cases I’ve seen, often the partner they choose is just not a good fit for them. To exacerbate the situation, they are typically… well… too nice to their partner when they do something not so nice. It sends the subconscious message to their partner that the behavior is acceptable and it also devalues the “nice” one. There’s nothing wrong with a nice person expecting reciprocal behavior from their partner, but they also can’t expect to change their partner into someone nice (however much potential seems to be there). I know I’ve been guilty of tolerating behavior I really shouldn’t have just because I could see all the potential my boyfriend had. After 6 years, I finally came to realize that potential or no, I had to be happy with him exactly as he was even if he never changed. I wasn’t, not because he was a horrible person, but because we just weren’t quite the right fit (although we are still friends now, 10+ years later). Many people just aren’t honest enough with themselves about what they want/need in a relationship and what they really have in a current relationship.
Also, people often seem to think that if a relationship fails that it has to be someone’s fault. Fact is, some people just aren’t quite right for each other, no matter how wonderful they might be as individuals. Consequently, they stay in relationships until matters reach a breaking point – and then someone usually gets hurt.