Three intensities of emphasis
Markdown gives you italic (*text* or _text_), bold (**text** or __text__), and bold italic (***text***). GFM adds strikethrough (~~text~~).
Asterisks vs underscores
Functionally identical for emphasis. Asterisks are usually preferred because underscores inside words (like foo_bar_baz) can confuse parsers — most CommonMark parsers treat intra-word underscores as literal, but the rule is subtle and easy to misread.
CommonMark flanking rules
Emphasis delimiters must be 'flanking' — adjacent to non-whitespace on the correct side. ** not bold ** with spaces inside the asterisks won't work. The flanking rule prevents accidental emphasis when you mean literal asterisks.
Principle: Use emphasis as the syntactic equivalent of voice — italic for first introduction of a term, bold for keywords your reader must not miss, ***both*** almost never. If everything is emphasized, nothing is.