I have a good relationship with my mother (now) and if she's doing something that really gets under my skin, I either :
1) tell her..."Mom, you are driving me nuts!" and she stops because she didn't realize what she was doing
2) just leave and come back later, assuming she's just in a bad mood
3) talk to my grandmother (her mom) about it and let her bring it up...she has a great way with words and can generally get my mom to understand my point of view calmly since she isn't involved, vs me trying and it coming out with anger.
My MIL on the other hand is a special case since she's crazy...no really, she is. I REALLY have to bite my tounge with her, out of respect for my husband, not her.
She's very rude and waits to make comments when he isn't there to hear him. Once she came to our house, hubby went to the bathroom and she leaned over and said, "Pop and I were talking that other night and we've noticed you're getting a little fat!"

She also gave hubby's number to one of his ex's once that she ran into once and told the girl she was sure he'd LOVE to catch up with her. And let's not forget the time that she called me selfish because I didn't want to have any more children and she'd really like to have another grandchild. This was just shortly after she told hubby that I was mean and cruel to her because I wouldn't let her come into the delivery room with us.
Luckily, I rarely HAVE to say anything to her because he will, and alot nicer than I would.