Enter and Return are often interchangeable, particularly on Windows systems where the distinction is even less obvious that with some other OS.
The key is in the codes the the keys actually send when you press them - we all know what we intend, when we use those keys, but what does the computer see? The answer is that is either sees a command for New Line, or a Carriage Return.
These are 2 separate commands and they do different things - think of a typewriter; a new line is like advancing the barrel moving the paper up one line, carriage return returns the whole sheet of paper back to the left margin as well as advancing the paper up. The symbols almost reflect this; ↩ (new line and return) or ⌤ (doesn't really indicate new line, but does indicate a stationary cursor; see example later)
Now, sometimes (Yep, Windows) no matter what you input, you get a carriage return, as the OS doesn't distinguish between the 2. But on other OS it does give you 2 different meanings. As such, an Enter is often used to move onto the next item, with Return signifying an end to the input and a return to the beginning. The difference between the 2 in many programs might be something like the following:
Dear Sirs,⌤
What's the difference between Enter and Return?⌤
Many Thanks,⌤
Stuffe⌤
Or
Dear Sirs,↩
What's the difference between Enter and Return?↩
Many Thanks,↩
Stuffe↩
There isn't quite such a clean analogy on modern systems, but that's the historical starter for 10. This then get's muddled by the fact that, actually these days we often use TAB in place of Enter, think of filling a web form in.