I'm so sorry you're going through this. Please listen to what posters on here are saying, and please take up the reading suggestions.
You don't understand why he's like this because he is an abuser and you are a decent person. You won't ever be able to rationalise how he acts because there isn't an explanation that would make sense to you.
He is abusing you, in many ways. Yes he may be nice sometimes, but that is all part of his plan to keep you in your place. As someone said, if he was vile all the time you wouldn't have stuck around would you? But remember, when he's being nice it isn't genuine 'nice' - it is part of him reeling you in and controlling you.
You have listed so many ways he's controlling you (and I bet there's more that you haven't mentioned or haven't even realised yet). There is no question he is abusive. It isn't you. You haven't done anythign wrong. You haven't caused it or provoked it. He would be like this with another woman just the same. It is him. It is really important that you know that.
You can't fix him. You can't make him different. This is who he WANTS to be. He won't get better. He could get worse.
Please start taking steps to get away. Seek advice - legal advice, counselling perhaps (on your own, never with him), and keep posting on here.
Take care of yourself, and don't tell him what you're planning as he could become a much bigger threat to you if he realises he's losing control, and at best he'll do all he can to be 'nice' and to change your mind (just long enough to get you back in your box, then he'll start with the abuse again).
One step at a time you can get yourself out of this awful relationship. You will be amazed how much lighter, calmer, happier you are without him. That will be great for you and great for your DC. With each step you will feel a little bit stronger.
It won't be easy, as abusive men don't take rejection well, but the alternative is to spend the rest of your life (and to subject your DC to it) with a man who shows he doesn't love you, doesn't respect you and is happy to make your life miserable for his own kicks.
One last thing - in the meantime - Please stop saying pardon when you don't hear what he says. He is trying to upset you so he can claim you're unbalanced / angry. Just ignore. Carry on what you're doing as though you didn't hear him at all.