When you wrap some existing markup in a custom element and then apply some new behavior with JavaScript, technically you're not doing anything you couldn't have done before with some DOM traversal and event handling. But it's less fragile to do it with a web component. It's portable. It obeys the single responsibility principle. It only does one thing but it does it well.
While it is indeed possible to author web components with JavaScript and Shadow DOM, HTML Web Components offer a more progressive enhancement-friendly approach, relying on just HTML.
Collection
[
|
...
]