First off, this is a very reasonable question!
To cut a long story short, you need to think about hunger, and recognize what it is. Its a feeling. Its neurological. As such, it is governed by chemicals since that is how your two neuronal systems communicate. Remember that you have 2 brains (kind of)

.
That being said, there are two chemicals which govern the process of hunger:
Ghrelin - which makes you feel hungry Leptin - which makes you feel full
When you are eating, there is quite a lag between the act of eating, and the chemical release of Leptin which tells you your full. This changes with each person. For example, some people release Leptin very quickly, others do not. The result is, you can over-eat before you know your full, which results in fatigue, illness. etc.
I can guarantee that after you eat a sensible amount and wait 20 minutes, you will no longer feel hungry. This allows the Ghrelin in your body to be replaced with Leptin.
In regards to desert. The release of Ghrelin is directly related to the type of nutrients your body requires. Sugars are 'always' required as our bodies have evolved without chocolate in mind. 10,000 years ago sugars would have been precious indeed. So the smell of desert can prevent Leptin release, hence you can still eat, despite being completely full. This over-stretches your stomach however, and it is not a good idea.