As the great DR. Phil would say, "She`s getting something out of it." People do things because there is SOME benefit to what they`re doing. Subconsiously she is outweighing the good and bad, keeping the relationship going while gritting her teeth through the bad stuff WHILE complaining about it.
Also, people in general hate to admit they`re wrong. If she breaks it off, that will be admitting failure. The longer it goes on, the worse it gets. Especially since she`s "hot", "how can`t this work out?" , "How can he not love ME?!?!?"
Have her call me for a consult, I`ll see what I can do.