1. You're too gullible
Yes people can change sometimes, but sometimes they are also really good talkers and liars. If you see that his words don't add up to his actions on a consistent basis- don't expect any major changes. It won't happen so walk away or be happy.
2. You're too nice
There is a difference in seeing the good in people and trying to give them a chance, and letting someone walk all over you. It is time to stand up for yourself and allow yourself to find someone who isn't going to be a mistake.
3. You have no self respect
A woman that sees no value in herself, will pick a partner that isn't good enough for her. She will strive to find someone on her level, which she believes is ultimately low.