One thing to add all the other excellent answers. Yes, 'dinner' and 'supper' do mean the same thing, with one difference:
'Supper' is always an evening meal; 'dinner' may, occasionally, refer to a daytime meal.
As Dan Smith pointed out, 'dinner' is the main meal of the day. These days, we usually have our main, most substantial and most leisurely meal in the evening, when our working day is over. In the past, this was the exception rather than the rule. In the days when most people were agricultural workers, people got up very early and used the daylight hours to work. By midday, they were tired and hungry, and needed to have a large meal (dinner) around noon. In the evening, they would generally have something much lighter - often just soup and bread (hence the name 'supper') before an early bedtime. It's also worth bearing in mind how difficult and expensive it was to light homes in the evening before the advent of domestic electricity supplies. Until the early twentieth century, only the upper classes had the time or the means to enjoy a leisurely main meal in the evening. During the day, wealthier people would have a lighter lunch at noon and another lighter cold meal known as 'tea' in the late afternoon.
These days, dinner - as in main meal - generally means an evening meal, although there are a few exceptions. There's Dan's example of Thanksgiving Dinner, and then there's also Christmas Dinner: a large celebratory meal generally eaten during the day.
Another point worth mentioning is that in some parts of the UK and Ireland, especially in more northerly and working-class areas, people still refer to the midday meal as 'dinner' and the evening meal served at home as 'tea'.