I believe that certain foods make certain people gain weight more than others. Of course, I'm not a nutritionist or a doctor, and these are merely my own personal opinions. For me personally, the two foods that make me gain weight the most are pizza and bananas. No, I don't eat them together, but both foods make me gain weight very quickly, so I have to eat them in moderation. Having said that, I still eat a slice here and there. After all, it's pizza, and how can I resist! I truly believe that moderation is the key to life and that you should indulge in the foods that you crave and desire. If your body is craving certain foods in moderation, you should indulge in them, but the key is not to overindulge in them.
This is what I love about the French, they eat everything that they want in moderation. They don't deprive themselves of food, generally speaking of course. But, from what I've seen, the French indulge in dark chocolates, wines, pastries, and make everything in a cream base. The only difference is that when the French indulge in these fine delicacies, they know when to stop eating, and they're aware of that full feeling that they get. They have a small bite of dark chocolate, and then they go about the rest of their day. You don't generally see French people overindulging, but you see them indulging.
This brings me to the topic of satiety level and recognizing when you're full. It's known that it takes 15 minutes for your satiety level to kick in. Your satiety level is the feeling that your body gets when you're full and yes, everyone gets that feeling. The problem that most people have is that in America for sure, the portions are immense and ridiculous in size. By the portions in America being so massive, people tend to lose awareness of their satiety level, because there's still so much food on their plates. This is why mentally, you should imagine that half of the food on your plate when you eat out in restaurants, is not actually on your plate. Don't get me wrong, sometimes we get hungrier than at other times. When you're hungry, by all means, eat away. But, generally, when you see that a portion that you're given at a restaurant or somewhere that you're eating is too large, you shouldn't make it a habit of licking your plate clean so to speak.
For whatever parents out there that have been teaching their children to eat every bite of food that's on their plates, I highly disagree with that method of parenting. I believe that people should eat until they're full. Depending on many factors including the temperature outside or whether you had certain stresses throughout your day, etc., your appetite will likely change. You can't expect to eat the same amount of food every single day, unless you've turned your eating habits into a lifestyle, where you make certain nutritional choices that you live by. My best advice would be to indulge, but eat small portions, and don't deprive yourself. Eat what your body craves. The healthier that you start eating, the more your body will naturally start craving healthier foods. I don't think that you should overindulge in anything.