When a program consumes a model's answer, prose is a liability: the field name drifts, a value comes wrapped in a sentence, the JSON has a trailing comma. Structured output removes the ambiguity by telling the model the exact shape the answer must take - a JSON schema with required fields and types, a list of allowed labels, a table - and, in the strict form, by constraining the decoding so that no token outside the shape can be produced.
There are two levels and they are not the same. Asking for JSON in the prompt, or using a vendor's loose 'JSON mode', makes valid JSON likely; schema-constrained output, where the vendor supports it, makes a schema-valid answer guaranteed. The reference catalogue flags which models offer the guaranteed form, and the gap matters most in pipelines that run thousands of times a day, where a one-percent failure rate is a daily incident.
Even guaranteed shape is not guaranteed truth: a model can fill a valid schema with a wrong value. Validation therefore has two layers - the schema check, which structured output makes redundant, and the semantic check the application owns: ranges, cross-field consistency, lookups against known values. The output guard in a router can run the first and report the second as an outcome, so a model that produces well-formed nonsense loses standing for that task.
A router treats a schema in the request as a signal. Models without structured-output support are not admissible for it, so the request is never sent somewhere it will come back as prose; among the admissible models the usual scoring applies, and extraction and classification are often where the cheapest qualifying model wins. A parse failure that does occur triggers fallback to the next admissible model and is counted against the first.