theme.json is the canonical place to configure block editor styles, settings, and tokens. Colour palettes, font sizes, layout sizes, and spacing units all live there.
The big benefit: settings declared once propagate to the editor, the front end, and the Site Editor. No more manual style enqueuing for every block.
The styles.elements section gives you global control over headings, buttons, captions, and links — useful even on classic themes that just want some block-editor polish.