A semi-colon is used to separate to independent clauses. An em dash can be used for added emphasis, to indicate an interruption or change in tone, or to add details.
A dash is used to separate phrases or words that are part of a sentence. A semi-colon, however, separates a sentence that follows logically from the first.
An em dash is more commonly seen in a narrative. When a character jumps from one thought or tone to another. A semicolon is used with two similar but separate facts are placed together.