I think I want a divorce but something is stopping me

Megan • Mom of 3 boys & a baby girl on the way!
My husband and I will be married 4 years next month and it's been rocky since 3days after our marriage. I found out right before our honeymoon that he was on dating websites and texting women. Sexting an ex girlfriend that he had lied about even knowing her at first. I've dealt with him texting other women on and off for our entire marriage. I always threaten to leave and then we have a good day and I feel guilty for wanting to leave. Things were going okay other than the high expectations he has for me that are impossible to reach and his bad moods in which everything is my fault even though I do EVERYTHING for him. I thought things were good until 5 months into my most recent pregnancy he confessed that he had cheated on me with an older married woman.( I give this man my time, emotional support, I satisfy him sexually despite everything!!!). We had to get std tested and thankfully the baby and I were safe from stds. It's been six months since the cheating and I can't stop thinking about it. I have nightmares about it. He slipped up and joined kik messaging shortly after I found out and he apologized and blamed his slip ups on drinking (he's a recovering alcoholic) he also gets all worked up about little things and actually broke my finger a week before my baby was born. He has been super nice the past month since my son has been born. He keeps telling me how much he loves me and wants to be together forever and it's making me feel guilty again for considering leaving. We have 3 kids together so that could be part of it. This morning I found out he's been smoking cigarettes behind my back which I didn't freak out but in my mind I'm just so annoyed it's always lies and sneaking with him even with something as dumb as cigarettes. I know I deserve better I keep saying I'll leave but then I feel guilty somehow. What's wrong with me?