I've always thought that the concept of "cheat days" was counterproductive, for many reasons. First of all, it implies that you're doing some kind of temporary program that is so strict that eating something indulgent counts as "cheating". This isn't a mindset that is conducive to long-term weight loss success. Second, even one day (in some cases even one meal) that is full of high-calorie foods can ruin a whole week's worth of exercising and calorie deficits. It would be more accurately called a "sabotage day" rather than a "cheat day"! Third, it encourages guilt as you label some foods as "bad (cheating) foods" and others as "good (healthy) foods". I don't agree with this attitude at all. I'm all about moderation - you can eat anything, as long as the nutrients and calories work out in the end - and I find that making foods "forbidden" or labelling them as "cheating" only makes them more attractive and that craving creates guilt and stress that leads to eating way too much of those foods. If people just ate two cookies, guilt-free, it would save them a lot of heartache over the weight gain that shows up after a binge on eight or ten cookies.
However, I'm nothing if not a realist. Eating healthy has to fit into your life, and life sometimes has times when you need to be flexible. I also think that no lifestyle change can be permanent if you can't have fun and relax sometimes. But rather than say a special occasion is an opportunity to leap off the wagon and fall into old, unhealthy habits, I have a different perspective. When I visit family, or go out for a special dinner, or go to an event, I don't spend time panicking about what I "can't eat". Instead, I decide what I want to eat, regardless of calories/fat/sugar/whatever, then decide what I don't care about that much. Then I eat smaller, but reasonable, portions of the things I like and little or none of the things I don't. And I use simple strategies like paying attention to amounts (as I serve myself, I think something like "three pieces of garlic bread, 1/10 of the tray of lasagna, 1 cup milk") so I'm aware and can enter it later (accurately - no rounding down for the nutrition tracker!) and serving myself a smaller portion and limiting myself to that much only. I can eat whatever I want, but I'm still paying attention to what I'm eating. I'm not wasting calories on things I don't care about eating, so although I am getting to have a piece of chocolate cake, I'm not far off from my calorie range for the day while feeling like I didn't have to sacrifice or deprive myself of the things I enjoy.
My cousin's wedding was this past Saturday, so I spent the weekend travelling, eating on the go, and having a catered meal. I lost a pound anyway, and I got to have, among other things: bacon, lemon meringue pie, poutine, a hot dog, two savoury croissants, roasted garlic cheese dip, breaded shrimp, and a few drinks. I don't feel like I didn't have fun, or that I was constrained by any "rules". I also more than made up for the exercise-routine disruption by dancing for hours at the reception.
So who needs cheat days when you can have delicious food and weight loss too? Special occasions and routine disruptions don't have to be a "binge now, feel guilty later" time - losing weight can coexist nicely with having fun and eating the foods you love without guilt, without sabotaging all your hard work, and without feeling deprived and restricted.