Structured output
Making the model answer in a shape a program can read — JSON that matches a schema — instead of prose that has to be parsed and hoped over.
You hand over a schema and get back an answer that validates against it. The gain is not tidiness but the removal of a whole class of failure: no missing field, no number arriving as a word, no retry loop around a parser.
It pairs with tool use, where the arguments are structured for the same reason. Where the two differ is direction: a tool call is the model asking your program to do something, structured output is the model handing your program the result.