We had plenty of dash characters--we had hyphens of course, and figure dashes, and en dashes, and em dashes. Figure dashes are one en in width, with the vertical position of the visible element is designed to match the numerals in the font. This let us set a sentence like so with subtle perfection.
Type designer John Baskerville (1706-1775) owned a printing-works and type foundry in Manchester.
Does anybody notice this sort of thing? Probably nobody except book designers. Does anybody care? Well, my mom said she cared when I pointed it out to her.
From that teacher I learned to respect the choices of the type designer and how to use those choices. His tradition--now mine--dictates that all these dashes be typeset closed, without leading or trailing spaces. In the OpenType era, a type designer may choose to leave a speck of white space around a dash, but it's up to the designer, not the typesetter.
Text rendering in software like web browsers and word processors is gradually catching up to the tradition. Adobe's InDesign product does a great job of all this. Recent versions of MS Word are great improvements.
It helps to know the HTML entities for these items if you'll play around with them in your web pages.
— em-dash
– en-dash
‒ figure dash (using en-dash is mostly acceptabe).
‑ non-breaking hyphen
  one em of space
  one en of space
the much-misused nonbreaking space (use an en space for   ktksbai)
  thin space (0.2-0.25em)