Pozwoliłem sobie otworzyć ponownie, bo odpowiedź wybrana jako najlepsza jest niepoprawna.
Nie ma różnicy. Specyfikacja HTML5 obydwa sposoby podaje jako całkowicie równoważne. Slash jest opcjonalny:
- Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single U+002F SOLIDUS character (/). This character has no effect on void elements, but on foreign elements it marks the start tag as self-closing.
Z tego też powodu obydwa zapisy są całkowicie poprawne. Jedyna różnica jest taka, że ten drugi wywodzi się z… błędu. W czasach HTML 4.01 slash był ignorowanym przez przeglądarki błędem składniowym, który pochodził od "używania" XHTML-a. W HTML5 to skodyfikowano jako dozwoloną składnię, bo i tak niemal każdy tego używał.