What the generated file contains
The output is a normal OpenSSH client configuration file. Each Host line names one or more patterns you can type after ssh, and the indented lines below it are the settings applied when a pattern matches. Four-space indentation is only a readability convention, but it is the one OpenSSH itself uses.
Order matters. For each keyword, SSH uses the first value it finds while reading the file from top to bottom, which is why the catch-all Host * block is written last. A value you set for a specific host always beats the same value in the defaults block.