Advice please

So I been in a relationship for about 4 years now and have a child with this person. He has not been the most honest person and in have found him on porn sites and looking at girls on social media. I have gained weight but has been hard to loose with all the financial stress and problems at home. I have gotten physical and hit him several times and feel terrible but he provoked me by calling me very ugly names. We have lost some much respect for each other yet we still stay together. When I kick him out I feel bad and feel like it’s my fault but when he’s home I feel like I’m living a nightmare I just don’t know what to do. I was never this ugly person and now I just don’t even know

Myself anymore.