1. Output escaping (server-side)
2. Output sanitization (server-side)
3. Output sanitization (client-side) - i.e. this standard
4. [Wrong] Input sanitization (server-side) (not to be confused with input validation, which is good but unrelated to this conversation)
Without boring with the details of why 4 is wrong, normally you should choose either 1, 2 or 3 depending on different applications:
(1) should generally be used in almost ALL cases. Contextual escaping is orders of magnitude more secure than sanitization, and is usable by any application not rendering user-provided rich text.
Furthermore, most/many user-provided rich-text applications use a DSL like Markdown which sidesteps the need for sanitization, so you can use escaping for these cases as well.
(2) should only be used if you are rendering user-provided rich-text. These cases are quite rare, and chances are if you need this feature you have a large application with lots of experienced engineers and you have the resources to put in place appropriate caching mechanisms.
(3) is the same as (2) but offloads the work to the client (no caching necessary) and has a resultant negative impact on the performance of your app (client-side UI latency). Making browsers fast is already a gargantuan challenge for browser-makers; adding client-sized sanitization to the mix will exacerbate this.
But mainly, this new standard will encourage inexperienced engineers to use (3) where (1) is much more secure for most applications.