Bom, a verdade é que todas as etiquetas se podem fechar perfeitamente, porém não estamos obrigados a fazê-lo, dado que HTML é uma linguagem bastante aberta e os navegadores permitem mostrar código com alguns erros ou falhas de codificação sem que estes se vejam refletidos no aspecto de nossa página.
Em HTML originariamente existiam etiquetas que se colocavam em um site e pronto. Ou seja, colocamos em um lugar e tem validade nesse lugar, não há que fechá-las mais adiante. Ocorre, além de <br>, com <img> ou <hr>.
Entretanto, em XHTML, que é uma evolução de HTML com uma sintaxe menos aberta, todas as etiquetas têm que ser fechadas. Então, para as etiquetas que não têm fechamento, tem que se especificar o fechamento na própria etiqueta de abertura. Por exemplo:
<br />
<img src=”...” />
Por Miguel Angel Alvarez