Can someone tell me why YAML is used so much? I understand the issues with things like XML and JSON as configuration data, but why YAML instead of something like INI or TOML?

I've not dealt with them enough to have much of an opinion, but Dhall and S-exprs seem to be preferable to most of the config languages I come across regularly. In general though, just please no more YAML or JSON configs. Use them internally if you must, but they're pretty awful to write manually.

I guess I should look for a few tools capable of parsing all these "wonderful" file types instead and just have a pre-commit hook to ensure the syntax looks OK.
@architect YAML has greater flexibility than INI, or key value pairs. You can represent arrays or maps in a readable way. They also nest easily. That comes at the cost of complexity, though, and that's why I wouldn't use it for new projects.

@architect YAML is the human readible middle ground. It's more expressive than a flat key value pair such as .ini but still unencapsulated unlike json so it fills a wide range of use cases.

I find yaml ok when used on low complexity stuff, but it becomes terrible when used for anything more involved.