The shadow DOM provides two things:
- style encapsulation (as well as `id` attributes)
- ability to use `<slot>` for templating
You should use it if you require one of the above or both.