The amount of space between the things on either side of a dash should be much greater than between things separated by a hyphen. Using a proper em dash in a proportionally-spaced font will achieve this correct spacing without need for any additional space. When it is not possible to use a proper em dash, there are two conventions in use--either use two normal hyphens with no additional space, or one hyphen with a space on either side. When using a mechanical typewriter, one may also type a double dash but manipulate the carriage so as to overstrike a third hyphen over the gap, or leave two or three spaces for the dash and then use a pen to ink it in. The approaches requiring mechanical manipulation are of course unsuitable for use on a computer. Of those which do not, the former has the disadvantage of creating a "gap" in the middle of the dash; the latter leaves a bit to much space on either side of it.
If Windows' default keyboard layout were as typographically adept as that of the original Macintosh, one could simply type option-shift-hyphen whenever an em dash was required without having to worry about whether two hyphens or blank-hyphen-blank was a better em-dash substitute. If one cannot use a proper em dash (I am unaware of any reasonable way to type on in Windows, though in some cases [such as on this site] one may type “—” to yield “—”. Usually it's easier to just type a double-dash though.