And when I wasn't giving myself "cheat days", I would invariably wind up breaking down one day and going on a lengthy binge. Either way, not healthy. And if you are actually one of the people who can ALWAYS stick to perfectly "clean" foods (whatever that means), I'd call that an eating disorder.
So what is the solution? I've started trying out a new "diet" called the Macro Diet, or IIFYM (if it fits your macros). I recommend watching this video by Layne Norton, a coach, bodybuilder, powerlifter, and scientist:
Basically, I'm now shooting for 240g of carbs, 150g of protein, 55g of fat, and at least 30g of fibre. Within those macros, I can eat what I want. I'm finding the "My Fitness Pal" app is a great one for tracking my macros on a daily basis (I just ignore the calories).
Nothing against clean foods, but moderation is the key. Instead of eating clean 90% of the time and then sitting down and eating an entire pizza or tub of ice cream, I'm attempting to eat mostly clean, but if I want a small bowl of ice cream or a slice or two of pizza, I can just factor it into my daily macros... guilt free!
Another thing to keep in mind is that when you hire a personal trainer, they are not certified to give you a diet plan! Only a certified dietician can do that. There is a reason nutritional science is a lengthy program; it is very easy to mess up a person's entire metabolic system with poor nutritional advice.
Before competing again, I need to get my eating habits into a healthy and sustainable method. Right now, that is my #1 priority for my health.