Big hug... What a mess.
Really - as I read your story I do not think that your husband is treating you as he should.
Why do you want to get back with someone who treats you as badly as he does... and over a long time? Is it financial, or the security of the familiar? You can do without him if you decide to, you know you can do it.
But if you really do want to try again I think you need the help of a relationship therapist to help the relationship restart and continue on an equal footing. Ask him to come to counselling to help you - get him there and then work on him in the safety of a counsellor.
Can you see yourself with him in 5 years? he will be the same and that is why you left him. Don't put up with it - you are worth much more. You can live without him, you don't need him! Yes you can. You are stronger than you think you are. Sometimes it is hard to let go, very hard but sometimes it is better to admit it didn't work and move on with your life.
Let him know you want him in your son's life and be honest with your son as he grows up.
You are not the only one with marriage difficulties so do not feel that it is your fault. Be honest, you have left him 3 times - unless things change it will happen again... be strong and find someone who will appreciate you and love you and put you first.
It is despicable he refused to pay for your c-section... he is (was) your husband... I think this shows how much he doesn't respect you. I know you think that there is no choice but to get back to him but you do have the choice - it is yours. You say you want to get back with him for you - But if you think honestly you will see that it may be the wrong thing for you rather than the right thing. He may not be physically abusive but he is being psychologically abusive and this can be worse, much worse. How about raising your son in that environment - not good id it?
Be strong and make a choice that is best for you and your son... I think this is away from him...
Huge hug and all the best for the future