Negrita: <b> vs <strong>
El tag <b> coloca texto en negrita solo visualmente. El tag <strong> además lo hace destacar semánticamente, indicando que ese contenido tiene mayor importancia para los buscadores y lectores de pantalla.
Cursiva: <i> vs <em>
Lo mismo ocurre con <i> y <em>: ambos colocan el texto en cursiva, pero em es semántico y transmite énfasis al contenido.
Otros tags de formato semántico
El tag <mark> resalta texto: texto destacado.
El tag <del> indica texto eliminado: texto eliminado.
El tag <ins> indica texto insertado: texto insertado.
El tag <code> representa código: console.log("hola").
El tag <sub> produce subíndice: H2O.
El tag <sup> produce superíndice: x2.
El tag <abbr> define abreviaciones: HTML.