I think Hobbits have it right. When they talk about dinner and supper, they’re talking about two different things. We Americans, we’re not that smart. You have southerners, who call the main meal at the end of the day supper (it’s anyone’s guess as to why…), and I’m assuming that northerners call that meal dinner. Personally, I call it dinner, but that’s not because I’m a northerner. That’s just what I’ve always called it. It’s for similar reasons that I say /kerəməl/ instead of /kɐrməl/.
But I have an adoptive family, and they always say supper, which I can accept. I’ve always understood supper and dinner to be synonymous, because I am neither British nor a hobbit (though some believe I’m at least close to hobbit-height). Except for when we’re talking about the big Thanksgiving meal, and suddenly, that becomes dinner. Where did that come from? Are we not allowed to say that we had supper twice? Or is there actually a southern distinction between dinner and supper?