Depends really. In most cases they are used interchangeably to refer to the meal we eat in the evenings, so there is no difference. However, in some cases it's also a regional dialect thing - particularly in the South, where "dinner" = what the rest of us call "lunch" (the meal eaten around noon or so) ,and "supper" = what the rest of us call "dinner" (the meal eaten in the evening).
A debate my husband and I have all the time.to me, dinner is the evening meal. To him, it is supper! I tell him it is because he is from the hills:). Think dinner is a more refined way of saying it. But in reality it is how you grew up and where you are from. Supper sounds old fashioned to me. But then, I have the last word:). Sometimes. Lol he just know said I always have the last word.