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.

@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.