Учат, потому что «dinner» – это обед, а «supper» – ужин. Просто суть и время разные. Так, «dinner» на западе считается последним плотным приёмом пищи за день в районе шести. Наш обед – между часом и тремя. В это время у них «lunch» – лёгкий перекус.
«Supper» – позднее столование и не такое тяжёлое, как наше. Многие и его пропускают, нагрузившись в «dinner».
Обед в понимании англичан сдвинулся к вечеру из-за рабочих, которые трудились, не отвлекаясь на еду, как можно дольше – часов до пяти. На ленч они съедали что-нибудь лёгкое и быстрое.
А вообще, сегодня все едят, когда хотят. И «dinner» может случиться, когда угодно. Про «supper» знают все и говорят, если нужно обозначить позднее время и лёгкость перекуса.
В северных Англии используют слово tea, и это тоже ужин. Здесь уже можно скорее представить сытное чаепитие с пирожными, маленькими сендвичами, но иногда слово tea может подменить и слово dinner).