Why won't she leave him?

My best friend has been with her cheating bf for 3 years, and she found out he was cheating like 2 1/2 years ago. 😔 I hate him, I wish everything bad on him for what he does to her. I don't know why she can't let him go. But I don't harass her about it, I still listen to her when she's sad and needs to talk. Everyone tells me to stop being her friend because she's being stupid. But I would never do that, most we've done is not talk for a couple of months because we argued. She's been my best friend since high school and I would love nothing more than for her to fall in love with a great man, but he just won't leave her alone and she keeps letting him stay. He has ANOTHER girlfriend, they got a house together! And my friend knows about it. Nothing I can do though, I've said all I had to say about it to her. Me and her use to be roommates and I almost fought him. I've never fought anyone! Let alone a huge ass guy, but that's how much anger he brings up in me. She's had to go to therapy because of him because she was so depressed and be on medication. He actually made her be on anti depressants. He is a horrible horrible human being and if I could get away with murder I swear on everything I would kill him with my bare hands. There is a huge list of all the crap he's put her through, but I'm getting angry just typing this. Why won't she leave? She's told me countless times how much she hates him. She texts me stories about what he's done to her lately, and she'll tell me how sad and miserable she is.
I don't know what to do. My boyfriend gets so mad at me for being her friend, he doesn't even let me mention her. But I can't just walk away from her like that. I hate seeing her this way. When we hang out she's happy, for those few hours she's back to the girl that I've always known. For the women who have been though this, or are going through this. Am I wrong to still be here for her? Should I just give up like everyone tells me? I can't make her leave him obviously.