Taya, he doesn't have to change because there are no consequences for his behaviour. You're all about forgiving and making him happy again but it's to the detriment of your own happiness. He knows that whatever he does, you'll get upset for a bit and then let the issue drop in the name of peace.
It's good that you've given up trying to change his mindset. Thing is, we can't change another person - all we can change is how we deal with the issues. At this point, you need to figure out if you can accept him for who he is and what he does without wanting change. If you can't do this, then it's time to move on.
And for what it's worth, being too forgiving or too stubborn to end a relationship are not sensible traits to have. Instead, they are traits which will see you having a far greater risk of getting hurt. And if a relationship has to be 'fought for', I really don't think it's one worth having. Good relationships - one's worth staying in - aren't this hard.
Never regret anything that has happened in your life. It cannot be changed, forgotten or undone. So, take it as a lesson learned and move on.