What really helps for me is having a hard and fast rule about eating foods (with minor minor exception) that I prepare myself. I find it much easier to control my calories and any cravings, and I try to keep it as healthy as possible. You will never see me deep fry any food in my house and certainly won't see me use butter or cream in large amounts, plus I find any and every way to add vegetables into every single component of my dishes.
I can make an under 300 calorie big pizza on a flatout/tortilla, I can cook 2oz of pasta and mix it with any sauteed veggies and top the entire thing with marinara, I can pulse/shred vegetables and mix with lean ground meat and use high fiber buns to make burgers, I can cut and bake a potato for fries, I can make burritos/enchiladas/quesadillas/tacos, I can make "takeout" Chinese food INCLUDING baked egg rolls and wontons, I can make buffalo wings with hot sauce and blue cheese, etc.
I always satisfy my cravings in the healthiest way possible. I tend to either cook large amounts, divide and freeze in portions OR I cook one serving at a time (particularly helpful with pasta). This ensures that I can't go back for leftovers.