Fala meu amigo, posso estar bem enganado, mas funciona para tags que "não possuem conteudo". Um exemplo é o proprio button que você comentou, ele possuim apenas atributos:
<button name="" id="" type=""></button>
pode ser substituido por simplemente:
<button name="" id="" type="" />
Para tags como div, h1 e afins não vai funcionar, como o caso do <meu-painel> CONTEUDO </meu-painel>
.
Já dei uma lida sobre isso no caso do <br>
e <br />
e o que encontrei é uma questão de preferência, no sentido de "parecer mais legivel" e outros argumentam ser um padrão XML, e acabam trazendo isso pro HTML, que também aceita isso em algumas tags. Recomendo dar uma pesquisada sobre isso, tem varios artigos bons que explicam isso.
Espero ter ajudado de alguma forma.