You're not an American. Parents in the country where you grow up don't force their kids to clean their plates because of "the starving children in India/Africa/wherever?
Obviously it didn't help either me or the starving children of India when I cleaned my plate of the food my mother piled on it even when I wasn't hungry enough to eat.
Those of us who were trained to do this were rewarded. We were good little girls and boys. We had the right to be proud. It is considered a virtue not to "waste" uneaten food, and a vice to throw uneaten food away. Throwing away spoiled food is a moral failure according to this way of thinking, because you should have eaten it before it spoiled.
Yes, I remember so many times my mother or father opening the refrigerator and asking "Who wants to eat this ____? It's going to go bad." Yup.
And no dessert unless you finish your dinner. If you're too full to finish your dinner, eat it anyway, then stuff down a big serving of dessert as a reward.
When we ate at a restaurant it was the same thing. If you ordered something you didn't like, you had to finish it anyway. Buffets were the worst, because if you took something that turned out to be really nasty, you had to finish it anyway. Can't waste food.
I'm sure my mother thinks that only bad parents let their kids select what they want to eat and how much they want to eat of it themselves, and permit them to stop eating when they are done, even if there is still food on their plates.
Not eating when you're not hungry => not an option. Is it any wonder we're so messed up?