No one knows for sure but some scientists link it to hormone changes during pregnancy which can affect the sense of taste and smell. Hence, pregnant women may find the taste and smell of certain foods more appealing.
Another reason suggested is that cravings are a sign of nutritional deficiencies. If a pregnant woman’s diet is deficient in some nutrient, her body may tell her to consume more of it, resulting in cravings for certain foods.
This is a really good question. There are some experiments that suggest pregnant woman have a sharper sense of smell, probably due to hormonal changes. But those changes are usually reported to make woman feel sick, rather than make things more appealing! In my lab we have actually talked about testing this directly in mice, by finding out which genes are turned on in the nose of pregnant mice compared to non-pregnant mice. We’ll get around to do it one day.
Craving is probably caused by hormonal changes messing with your brain. Daphe is right in that the goal is probably to make sure the pregnant woman eats enough.
Not all women have cravings, and not all women crave the same thing which definitely fits with Daphne’s reason of nutritional deficiencies. Perhaps being pregnant is also used as an excuse to eat whatever the women fancies!