User-defined metadata service vs env variables to receive catalog answers?

Rancher Catalog provides a useful way to test some applications in a guided way via questions.

Answers can be referenced either in the docker-compose.yml, like in the rancher-compose github repository for logspout (https://github.com/rancher/rancher-catalog/blob/master/templates/logspout/0/docker-compose.yml ), or in the metadata-service by referencing answers in the rancher-compose.yml.
It seems that user-defined metadata can be updated without updating the container (Configuration rancher services with new metadata feature ), but not the env variables defined in the docker-compose.yml.
For some applications which polls their config files periodically, or has got a command run via confd, it can be handy.
On the other way, stick with env is more closed of docker than the metadata way.
So, in case no “reload config without restarting the container” feature is present in the app, what should be the preferred way?
Is there any other advantages/drawbacks with metadata service vs env variables?

best regards,

Charles.