The definition that I have had in my head for most of my life is:
dialect: a variation of the original language (usually regional), sometimes even using different vocabulary and grammar
accent: a discernible influence of another language (usually because the speaker is not talking in his native tongue)
Yet, I keep hearing about Southern, Scottish or New York accents…shouldn't these be more accurately called "dialects"?
I could see that the answer might not be as clear cut in the US as in the UK because there are probably far more "native" American speakers whose ancestors' native language was not English…
Disclaimer: I'm German myself and I'm more or less assuming that "accent" and "dialect" directly correspond to their German "lookalikes": "Akzent" and "Dialekt". Maybe the semantics of those two words are simply different in English? If so, feel free to close this question.