I really need some advise. I been on this relationship for 5 years 2 of them being boyfriend and girlfriend and the other 3 being married. I am 24 and she is 23 and we don't have any children. During the three years of marriage we been going on and off because for every fight we have she runs with her mom and leaves me. But before she leaves me she insults me really really bad, name calling, saying stuff about my parents, my brother, even sometimes she scratches me, and slaps me. Then she leaves and 4 to 7 days later always seem to be sorry and asks me for forgiveness to the point that she gets on her knees and cries, or gives tries to give me gifts.we have tried counseling but after a month or two and we stop going because she says that "we are good now why go". Two weeks ago all this happened again but this time she insulted and cursed my dad and mom then she told me she was leaving again and then she insulted me, scratched my neck, slapped me in the face and press her knee on my leg when I was laying down which left a big bruise and NO this is not the first time she is physical abusive now she is saying she is sorry and she will never do that again being this the seventh time she does the same thing saying she will change and she does not . However I still fill that I love her is this normal or is it just fear of being alone? I don't think I am a bad husband I mean don't drink, I don't smoke, I don't go out with my friends and leave her alone, I workout, I work all day and just finish my bachelors degree to have a better life with her and she still treats me that way. My question is that I always feel bad for her because she cries and says she is going to change which she doesn't or sometimes I forgive her because I fear that another women will not want to be with me or even look at me and start a relationship with me if I divorce her and now that I told her that we are done I feel with allot of anxiety to talk to her and take her back. What should I do

Please I need some good advise ?