Honestly, I was that way. Had nothing to do with self-esteem. I realized I didn't trust anyone enough, so I attracted only dysfunctional relationships I knew wouldn't work.
Then, I decided I wanted to be married with kids, so (as my best friend put it) I "cut the $@#%" and only told guys I dated what I wanted. I referred to myself as "single" until I became engaged (probably rushed his decision, but oh well), and I'm still TECHNICALLY single until he ties the knot.
But really, a lot of times you get what you give. Have self-respect and people will respect you. I don't let him walk all over me, tho we do have fights, and it pays off in the end.