The difference between a dash and a hyphen is that a hyphen is used to form compound words, and there is no space between the hyphen and the words either side, but a dash usually has a space both before it and after it. E.g:
Hyphen
The building will re-open in December.
This an award-winning book.
His name is Smithers-Jones.
Dash
I'm thinking of going to the pub - do you want to come?
Dash is best in Both