It all depends on what is your goal and where you are currently at. If you are overweight and trying to lose weight, cheat days are bad for you. Any time you have a cheat day, your body gets thrown off. It takes few days for your body to cleanse and get back on track. The body needs to reset. You do it by giving it enough time to function properly. Your body cannot function properly if you eat cakes or drink alcohol. It takes 6-8 weeks, on average, of consistent effort with nutrition and exercise program for your body to start working properly. Your body digests and breaks down the food based on how you have trained it. It takes those 6 to 8 weeks to see first changes when you retrain your body. Have a cheat day and you fall back to day number one. Therefore, if you want to have better and more sustainable results with your weight loss, stay away from cheat days.
Once you lose your weight and you are happy with where you are, then cheating days, time to time, are absolutely acceptable. If you are on a weight maintenance, I would suggest to have your cheating days on weekends. You can easily have 24 hours of relaxed eating on a weekend and still keep your weight the same. You have to be careful though, if you have it more often than once per week, your weight will slowly start to creep up. It takes 24-72 hours after cheating day for your body to go back to normal. So, if you cheat twice per week, you are never back to normal. The other factors that play a role are your age, your genetics and how active you are. If you train every day and you train extremely hard, there is a bit more room for cheat meals. If you don’t, do your best to stick to one per week.