A hyphen (-) is not a dash (– or —). A dash is the length of two hyphens (generally … it gets complex when you are typesetting, because there are two lengths of dashes, but we’re not typesetting…) This is important because they do opposite things. A hyphen links words together that might not otherwise be linked, whereas a dash separates or suggests a change in direction. A hyphen makes two words hug each other, a dash pushes words away.
In typography, there are differences between en-dashes (length of the letter n) and em-dashes (length of the letter m). It’s rarely necessary to know the distinctions between them unless you find them interesting or are setting type for a publication where someone knows there is a difference.
See The Punctuation Guide for more information.