If you're getting into a lot of arguments and having a great deal of whining in your classes, it might be because of:
Mistake #4 - Not Telling Students Why.
Why? Because they want and need to know "why" in order to have buy in.
I try to tell them "why" before they even start whining and asking me about it. In fact, nowadays I try to attach a "why" onto just about everything I tell them to do. "I need you guys to record yourselves speaking so I can tell how much Spanish I've taught you this semester." "You have to read and reply to this email so I can see if you would be able to read a native speaker's email and reply to it in Spanish if you had to." "Don't play on your phone right now so you can focus on helping your partner if they need it while they are telling the story." "Read the page with your eyes along with your partner who's reading aloud so you can learn new words, too."
The generation we're teaching right now is the "why" generation. They don't like to waste their time, and if you think about it, neither do you. So "why do we have to do this," while seeming to be a really rude question that hurts my feelings sometimes, is also just human nature. I might not have felt free to ask my teachers that question back in the 80's when I was in high school, but that doesn't mean I didn't think it at times. And it doesn't mean that the empowered-to-speak-their-minds students we are teaching right now are really trying to be rude and hurtful. They just need to know why. So tell them.
I would encourage you to start saying why more, before you're even asked, and see if you don't have fewer arguments and whines in class. And when you DO get asked "why do we have to do this?" react with zero heightened emotion or anger and simply tell them why. I've said this before, but if you find yourself (as I have) scrambling for an answer to "why," you might reconsider the activity at hand. Maybe not right then in front of your class (although I have changed course in the middle of class before) but at least think about it later. I should be able to easily articulate why I'm having them do a certain task, if I have clear objectives for their learning.
So that's it, saying why. A simple thing that in my experience yields big results in classroom management!