People cheat because they are selfish. Someone who cheats repeatedly on the same partner, does it because they know they can. They don't fear any negative repercussions, and if they relationship were to actually end at some point, they probably wouldn't be all that upset about it (but why should they take the time or money to end it, when their spouse takes them back over and over?)
People take back cheaters over and over because they don't feel like they can do any better or they'd rather have a cheater for a partner, than to be single. Not having someone in their life is more scary than being with someone who disrespects them and may pass them a disease that antibiotics can't get rid of.
Perhaps some self esteem counseling would help you figure out the roots behind your behavior, and you'd be in a better emotional place to decide if you want to change your behavior or not (you can't do anything about his).