What is the difference between using a semicolon and a dash?
They are simply never used for the same thing.
First, the semicolon:
Use it to separate independent clauses (thoughts that could have been complete sentences, i.e., they have a subject and a predicate).
Ex.: I like dogs; cats are cool, too.
Use it when you're listing things that have commas in them already, like if you were listing cities or something, so it doesn't get confusing.
Ex.: We went to Austin, Texas; Nashville, Tennessee; and Anchorage, Alaska.
Now, the em dash (--)
(If you type two hypens, most word processers will fix it for you.)
Use them instead of commas where you have an unnecessary explanatory phrase. They are more emphatic because they draw more attention.
And then he went to talk to Rory--who never worked a day in his life and therefore shouldn't have an opinion--who told him to burn the place down.
Use them instead of parentheses. This is also more emphatic, in addition to being less formal.
He had them printed in her favorite color--blue--just for the occasion.
He had them printed in her favorite color (blue) just for the occasion.
Use it instead of a colon to emphasize the end of the sentence.
After months of deliberation, she decided what she wanted her birthday present to be--a parakeet.