I know this pain all too well. I have experienced this very same thing you describe, multiple times. I too, feel like a fool to believe him when he says things will be different, but he always gives up and runs away as fast as he came.
I feel used and as though he has abused me mentally and emotionally, yet I can't let go. I want things to get better and I always believe in him that he will do what it takes to get better. How are we supposed to know when he is truly ready to be the man we need so we don't keep making the same mistakes over and over again? So we don't have to continue being lied to, cheated on, and abandoned each and every single time? Set boundaries - of course, that is easy. What I have learned is he will tell me pretty much anything I want to hear. How can we trust in someone who has let us down time and time again?
I have no answers.