Photographed in Holdenville, Oklahoma, July 2009.
In smaller towns in the south, the middle meal of the day is still called "dinner." This is typically the largest meal of the day.
In bigger cities, like where I grew up (back east), the middle meal of the day is called "lunch," which is the shortened form of "luncheon." "Dinner" was served in the early to mid-evening, and was the biggest meal of the day. The words "supper" and "dinner" seemed interchangeable.
So why the difference? Not surprisingly, these mealtime distinctions arose from economic circumstances, not personal preference.
Before the Industrial Revolution, working classes arose early, and ate a big meal around noon. Since staying up past sunset was unusual (who had the money to waste burning candles?), the last meal of the day was usually a quicker, smaller reheating of dinner leftovers. They went to bed not long after dark.
Wealthy types sleep late, and ate large meals after dark. Burning candles and oil lamps wasn't a problem for them.
As electric lighting became widespread, the poorer classes shifted their eating habits to match the rich. In the space of a few generations, dining traditions that had persisted for hundreds of years simply vanished.
[Electric lighting, office work and bigger evening meals explains we we've gotten fatter in America. The working class once ate their largest meal after 6 - 7 hours of physical labor, and ate a much smaller evening meal. When modern Americans retire to bed not long after a heavy meal, our bodies don't have a chance to break down the calories, hence, we get fat.]
For an interesting article on the origin of English and American mealtimes, click here.