What I've been doing lately is telling myself, it's OK this is a cheat day. I watch TBL every week, and one of the trainers brought up a good point. Have a cheat day where you eat foods that aren't so good for you. It's good for your body too as I read it "shocks" your body back from just eating strict low calorie or low fat or low carb foods.
Make it a habit to get in SOME type of exercise that day you cheat, even if it's 20 minutes. 20 minutes is better then 0 minutes.
As well, what I do, if I cheat on a day that's not my cheat day (which my cheat day is Sundays), then I take away a leisure or something I enjoy doing, whether it be Internet access, watching television, etc. I'll ask a friend to hide it for me or disconnect something, so I can't use it.
Don't be hard on yourself though and just remember EVERYONE starts to slip at one point. The only difference is that some catch themself before they slip, and others don't bother. We are our own worst critics.