I was married at 20. We had children and the best of everything. I was genuinely happy. Unknown to me though, he was cheating on me a lot behind my back, for many years. Once I found this out, I stayed for 4 years, for the reasons you mention : security (he was a much higher earner), the house, the holidays, the children's happiness. Also, it was hard to imagine being with anyone else, as he had been my first partner in life!
We limped on for those 4 years. He showed little remorse and kept on with his flirty and shady behaviour, so I walked away. I went from being rich to being quite poor over night.
It's now 15 years on, and my finances have recovered. I had a redundancy pay out, an inheritance (sadly of course), and have my own business which pays very well. I am also married to someone else, and exceptionally happy and in love with him.
All things considered, I wouldn't change anything, but I am still guilty about the impact this had on my children, who took a long time to accept the break up. Well actually, my son was fine, but my daughter took a long while to get over it. They are adults now though, and completely over it, and they get along well with our subsequent partners.
I think it depends on why you aren't getting along. My elderly Dad always says that in marriage you can get over most things, but never infidelity, and I think I do agree with that.