_all.json files hold references to other files, but can have additional data (like in the case of \system\cinfig_all.json)
These files contain information which is needed by the framework to perform the semantic mapping when creating viewmodels.
These files contain your resources (ie. labels) which are defined in components which are linked to the Module Configuration component of your module
These files contain your configuration entries which are, similarly to the resource components, defined in components which are linked to the Module Configuration component of your module
Also, which Template/Page/Component publishing results in these JSON files being created ?
Strictly speaking, none :). That is, these files are created from the broker DB for a certain publication when you access one of its published pages. The mechanism how the content ends up in the broker is by publishing the
_System\Publish Settings Page. Once you do that, you can obtain new values by using the
/admin/refresh endpoint, because these files are not being recreated on every request.