Okay, you are all probably going to disagree with my advice, but I would just leave. He's a lazy SOB (I'm sure he has some redeeming qualities) and he's taking advantage of you. He knows it too. It's not a good example for the children of how a relationship between a man and woman should be.
I would leave, take the kids, and be gone for at least 8 weeks. NO LESS. During that time I would arrange it so he had visitation rights with the kids every weekend, but SOMEONE else has to do the dropping off and picking up. Is there a close friend or family member who could do this? The key is, to have NO contact, by phone, text or in person for at least 8 weeks.
There's a biological reason for the 8 weeks. When people have a physical relationship hormones meant to foster love and attachment are the result of skin on skin contact. It takes 8 weeks for those hormones to be completely gone. Once they're gone if there's feelings left, that's what you can build on.
When I leave I would tell him why; he's lazy, you're not only earning the income but he's not doing his share around the house and with the kids, not even toilet training the puppy HE wanted. That you are not a doormat, you're his wife, and he's not treating you with respect. And it's not good enough, and you don't believe he will be bothered to improve so you're leaving.
After 8 weeks he'll come crawling back with some very real and very serious changes he's prepared to make. He will realize how much he loves and needs you.
It's a kinda tough love approach. It's not for everyone.
Good luck.