theoretically, we should target specifications, but that just doesn't work in an ecosystem which does not conform to the specification.

(i haven't touched minecraft commands in a long while, and i'm not sure if this is still the case, but) minecraft JSON does not conform to the JSON specification, so you need separate tools to generate and parse minecraft JSON.

with CSS, webkit/blink unfortunately have a bit of a monopoly on renderers, and parse a superset of CSS that firefox doesn't. there are also things that firefox and blink just do differently. not everything these renderers do is in the spec, so if you want to be able to render the most web pages how those web pages want you to render them, you need to visit all of the specifications. however, if you just want to render the web pages, just following the spec doesn't generally break too much.

my opinion is thus "it depends on what you want to be interoperable with"