In principle, there should be no difference between what one eats at the three canonical meals of breakfast, lunch, and dinner. You should be able to easily switch the menus. But in actual practice, the interchangeability only applies to lunch and dinner, with the food eaten at breakfast being distinctively different from the other two meals.
Why is this? One reason is of course that, at least during the weekdays when people have to go to work and time is short, breakfast tends to be a quick meal or eaten on the run which severely restricts the choices. But apart from that, I don’t see any reason why what we eat at breakfast should be any different from what we eat for other meals.
In Sri Lanka, the difference was not so stark. While we would not normally eat rice at breakfast (though some families did), the curries and the starch staples that we had were mostly the same as those at other meals, except that there were fewer options and we ate less.
But in the US in particular, the breakfast menu tends to be quite different from the other two meals, with a much greater emphasis on sweet food. I have been to many breakfast meetings where the menu was largely Danishes, sweet rolls, and other gooey concoctions. If I am lucky they might be some bagels or croissants.
Breakfast is my favorite meal when I have the time to enjoy it. On occasion I join some friends for breakfast on a weekend and I almost invariably order the traditional western breakfast of eggs, toast, bacon, and coffee. On other occasions, I like coffee with croissants or crusty French bread or bagels. I have noticed recently the trend of some restaurants and diners offering ‘breakfast all day’ which is a good sign.
But still, why is breakfast different?