Tired of Crap!

Ok, so I need help. My boyfriend and I have been together for a lil over two years and we have a four month old baby together. I love him very much but I'm drained with all the crap that he's put me through. When I was pregnant, I was extremely sick that sometimes I couldn't move or I'd throw up. Since I was not able to satisfy him during that time, he cheated on me. About three weeks after our baby was born, we got into an argument and he took off. I called him and told him off and ended the call with 'you'll be lucky if we (meaning my son and me) were going to be home when you get back to the house'. I know I shouldn't have ended it like that but I feel as though I was testing him to see if he cared at all. As I was walking outside with my son in his car seat, he was parked behind my car preventing me from leaving. (I was a lil relieved to see him there thou) I started yelling at him and everything poured out. I told him I knew he cheated and that I just can't stay with him knowing that it could happen again because we all know the saying "once a cheater, always a cheater". He told me he was sorry and that he didn't want to lose me and that'll never happen again. I stayed with him because I love him very much. Since then he's completely changed and is more attentive to me. He's done very romantic and completely unexpected things for me, and sometimes he'll even do things like changing our son's diaper or feeding him without me even asking for him to do it, but then some of his old habits come back around, the habits of being rude, unhelpful, and expecting me to do everything. He'll even jump to do something for friends but when I ask him to do something, he'll either just ignore me and never do it, drag out getting ready to do what I want, or he decides to do something else. I told him I'm tired of that crap, that I need help and I feel more like a single mom then a couple raising our son. I don't know what to do. I love this man but I need more help than he's giving me. Should I stay or should I leave this man that I love very much? Any advice?