A token isn't a color value like #5B5BF7 — it's the name attached to that value, say color.accent.default. Components reference the name, not the value, so changing the token once updates every button, link, chip, and avatar that references it simultaneously.
Tokens have a hierarchy. Primitive tokens are raw values like blue-500; semantic tokens like color.accent point at a primitive but carry meaning — "what this is for." Components should always reference semantic tokens, so a rebrand only means repointing the semantic token to a new primitive, never touching component code.
Light/dark mode and per-brand theming are the same mechanism: the same semantic token name resolves to a different value set. The W3C Design Tokens Community Group is defining a shared JSON format so tools can exchange them.
When to use
Introduce it when you want dark mode, a rebrand, or multi-brand theming to be a one-place change instead of hunting down hardcoded values everywhere.