Having said all that, basically she is a good caring person, but and I hate saying it but. It has to suit her, when she wants it. She can't do enough for you, she will go out of her way to help you. Yet later down the track she'll throw it back in your face. If she wants to do something for you and you say no, she gets offended. You have to agree or say yes or she'll keep on and on, not with just me but anyone.
Doing some research online I've discovered that she might have some aspects of narcissistic characteristic behavior. It kind of fits in, maybe its not full blown but it explains a lot, even going back as a kid, she's alway had anger issues if things didn't go her way. I truly don't believe that she knows what she's doing, I believe that it's a release thing with her, like a drug or a fix.