How do you know when it's time to end a relationship?

I married my husband thinking I am in love with him but now I come to think about it, it was just a infatuation. We have been married for 8.5 years and have a toddler together. But I can’t stand him anymore. We did thought of divorce last year but decided to give it another try. Nothing changed. He doesn’t take responsibilities. I have to be his mom. I have to tell him what to do. I feel like I am raising 2 kids instead of 1. I am exhausted. I care about him but I am not happy at all. I constantly think of leaving him but I am afraid to hurt him. I know he loves me and his son. I don’t want my son to be divided into 2 homes. He’s only 19 months. I don’t want this to effect him negatively but at the same time I don’t want to grow up learning that if you aren’t happy you have to compromise. I don’t want him to be like his dad. I want him to know to go after what makes him happy…I don’t know what to do.