Template literals use backticks and support embedded expressions with ${}. But most developers only scratch the surface.
Tagged templates are the advanced feature. A tag function receives the raw string parts and interpolated values separately: function tag(strings, ...values) {}. This enables custom string processing at parse time.
Real-world uses: SQL query builders that prevent injection, i18n libraries that handle pluralization, HTML sanitizers, CSS-in-JS solutions, and markdown parsers.
The strings array has a raw property giving unprocessed escape sequences. Tagged templates are used extensively in GraphQL (gql tag) and lit-html.
Master tagged templates and you will understand many popular libraries at a deeper level, plus gain tools for building your own domain-specific languages.