would you stay??

I know I'm not perfect. I'll never claim to be. I married the man I've been with for four years last year. He was a great boyfriend 90 percent of the time. Never cheated, never did anything to be unfaithful. However he lost his temper about once a month. When this happened he tended to call me things like stupid cunt, dumb bitch, and even made fun of my weight. Not like it should ever be ok to do that but I'm also only 125 pounds. About 6 months before our wedding I told him he could have his ring back and that I couldn't take being talked to like that anymore...sure enough he straightened up and it has not been a problem...until the last 6 months. He's been doing it all the time again. Constantly picking at everything I do and tells me I'm a failure. I don't understand what I do to deserve it. I know I am not a perfect person and sometimes I leave makeup stains on the bathroom counter and sometimes I go a few days without straightening up the house and sometimes I forget to run by the post office but I think that it's just being human...we've also been trying to conceive since we got married with no luck. I've been battling terrible depression about it since summer and it's like he doesn't care...I know we've only been married for a year and I've always been a person who believes you don't get divorced but at what point is enough enough? I'm so tired of feeling like the "stupid bitch" he tells me I am. Hearing this stuff weekly from the person who you love more than anything in the world is really hard and after awhile you start to believe it...