He is not 'willing' to leave. It's a bluff. It's not decency cos he hasn't actually done it. He doesn't give a fuck about recovery; if he did he'd be getting help. It's a way of sucking you back in, along with the 'regrets', apologies, promises and it's working big time! You convince him to stay. Wtf? He has you doing exactly what he wants. He fucks up again and again and you roll over and beg him to stay and continue fucking up.
Why the fuck are you doing that?
You are helpless because you have some deluded idea that you can help him, a grown adult, who has no desire to help himself and DOES NOT want your 'help'.
He gambles all his money. And i presume you bail him out. He's emotionally abusive and you're making excuses for him. Stress my arse! He's violent and smashes stuff and you are afraid he will direct his violence at you, but you're hanging on in there. Why?
I guarantee he didn't suddenly start gambling when you moved in. He didn't suddenly go from not gambling to every penny ever month. He kept it a secret. He's not stupid. He lied to get you to move in and bankroll him. You will NEVER see the money he owes you. And the longer you stay the more he will owe you. YOU will get into debt to cover bills and bankroll his gambling.
Unless he seeks help nothing will change for the better. But it will change for the worse! You are not some miracle worker. You can't live him better. You can not wish/want him to miraculously change. It doesn't work like that. He needs to immediately seek help for his addiction and his anger. Active steps, not bloody empty promises! But we both know he won't. He doesn't want to!!
Cut your loses, both financial and emotional, and run! Next time he says he'll leave pack his bags. But make sure you don't put yourself in an unsafe position when you do.
Six months and all he has brought is gambling, emotional abuse, violence and the danger of physical violence. You need to tough love yourself. Recognise it's a mistake and cut your loses earlier rather than later when your broke, an emotional mess and battered!