My son, who is now 4, has always been the kind of kid, even since he was really little, that would eat very well when he was hungry, and if he wasn't eating (like at mealtime), he simply wasn't hungry and if I tried to get him to eat (he would willingly try, even if he said he wasn't hungry), he would gag, and vomit. Very sensitive gag reflex. So I learned early on not to push him to eat if he says he isn't hungry. I have always allowed him to eat when he says is hungry. The caveat to that is that I make sure to confirm, in my mind, whether it is reasonable that he is asking for food, so as not to allow him to develop the habit of eating when he's bored, etc. If he just ate a full meal, I won't allow him a snack right away. If he asks for a snack while in bed at bedtime, I don't allow it at that point, simply stating we don't eat at bedtime (as long as I know he has eaten through the day and isn't truly hungry. I have made exceptions if he hadn't eaten much through the day.)
I am sure that this is not the recommended way to schedule your child's eating. But I just want him to be able to identify when he's actually hungry, and eat then. I don't want him to eat simply because food is put in front of him. We are not rigidly regemented people, and I only have one child, so I am not having to cater to a house full of different eating habits and styles, so I can see how this wouldn't work for some people. And as an aside, my son is not overweight and chooses and eats a variety of foods. So this has worked fine for us.
I just wanted to let you know that there are those of us out there that aren't doing it by the book. I always feel better to know that there are other mom's out there who aren't perfect!!