I’m really writing this just to get it straight in my own head, but perhaps others have puzzled over it as well. And maybe what I think I am now clarifying I have still got wrong, so please jump in if I have.
A hyphen is used in phrases like mother-in-law. There are no spaces.
The n dash is a hyphen (taking up the print space of an n), with spaces either side. One – two – three – GO.
The m dash, as a punctuation tool, is virtually interchangeable with a semi colon – and oh dear WordPress is not allowing me to create it – and creates a sub-sentence. It takes up the print space of an m, double the length of a hyphen. In Word, you can specify an n dash using CTRL and the minus sign on your number keypad, and the m dash using CTRL, ALT and the minus sign. (Didn’t work in WordPress.) It should not have spaces, so in fact-ignoring what I wrote at the start of the paragraph-there should NOT be a space either side. When it is full length, it looks less cramped. My m dashes all need correcting, because I persist in inserting spaces and Word doubles or halves the dash sizes with gay abandon.
You may ask why this is suddenly of importance, and I’m glad you did; I am currently formatting the first of my books for CreateSpace, to try out POD. I want to get it right. Talk about sweating the small stuff. I may yet give up but so far so good.
As you were.