I came on here today for the first time in a year or two with a similar story. I almost could have written your post, with a few small differences. One of the problems that is particularly worrying is that, like your dh, he is never wrong. He is absolutely convinced of his rightness.
I have tried everything to make him happy, but no amount of love or commitment has made him content or calm.
I've realised he is a very angry person, with a lot of resentment, who is always blaming others (or the weather, or God) for his problems. The sad thing is that to other people he has so much, but he cannot see it. He complains all day long, blaming people, belittling (me), swearing at God etc. Any small thing can trigger a reaction.
Like your husband, he is moody and controlling and constantly disappointed by people and things. His 'fun' nickname for me is 'smelly' (really cute huh) and he often says I am lazy (which is ridiculous) amongst other nastier things (b...., c...). He seems to believe that he is the only person in the world who deserves sympathy and everyone is trying to use him or hurt him.
Nobody is allowed to accuse him of anything, because he is supporting the family. He has made no effort to make friends for some time and avoids social occasions outside work. Whereas I am sociable and sporty and find our home life more and more boring and suffocating.
I realised last week that there is no way this relationship will improve which is sad for me and the children. The problem is, it's not in my nature to hurt people and I know leaving him would ruin him, but he is slowly destroying me. He has had over two years of therapy previously, but he is a person who never sees things from other people's viewpoints, which might be why it hasn't helped him with our relationship. In fact he seemed to pick out bits from what the therapist said and use them as ammunition, which isn't really the point of counselling!
Good luck in doing the right thing for you and your family. It's not easy is it.