Sounds pretty normal. Don't forget she is a person. And as another poster said she might not be able to tell you with words what is making her mad. She needs tons of patience and love.
If you want to try a non-traditional route read Unconditional Parenting by Alfie Kohn. I really loved this book, but I was halfway there already. It may be too much of a leap for some people.
In my opinion, your job is not to "train" her like a puppy or a chimp, it is to "guide" her toward acceptable behavior while always showing how much you love and respect her. It is absolutely amazing how truly respecting children as individuals can make them "behave" in ways that we call acceptable - not by coercing them or punishing them, but by coming to a mutual respect.
In my opinion all time outs or withholding "stuff" does is temporarily "fix" the situation so you (the parent) can feel better. It does very little in terms of helping the child use their better judgement next time - what they remember is how mean you are and how badly you treated them, not what brought on the "punishment" in the first place.
We all want our kids to be these brilliant, independent, out of the box thinkers and then we do everything in our power to squash their independence!
Make sure you're not fighting her just because it's a knee jerk reaction or because you think someone else wouldn't approve of how you handle it. It's actually Ok to let her do stuff herself. With my first child I was inclined to fight him because of all those parenting books that said never let him "get his way". A few weeks of that and you'll be pretty much beat, believe me. So instead (for example) we would actually undo things just so he could re-do them himself (when he asked, that is). This was aggravating and time consuming, for sure, but it gave him a real sense of confidence that he still enjoys today.
Sorry I am going so long but have been through this with two very strong willed boys and I'm still learning every day.
When she is really misbehaving, try this - bring her to her room or a quiet place and just sit with her and hug her. You don't even have to say anything. You'll be amazed at how good you both feel. It's between you and her, so don't let anyone tell you (even if it's just in your head) what's right or wrong about how you decide to raise you daughter.
Good luck!!!