https://html.spec.whatwg.org/multipage/custom-elements.html#...
> This is used for namespacing and to ensure forward compatibility (since no elements will be added to HTML, SVG, or MathML with hyphen-containing local names going forward).
So things that work today without a dash might break in the future if <badge>, for example, becomes a standard HTML element.
Indeed. And since a lot of web is fire and forget, one day you might get a surprise.