Except when you need anything more complex than a string or an array of strings, when they become entirely useless.
There is not a single even slightly complex piece of software that uses exclusively env vars for configuration. Even bash or vim have config files, this is not some new idea.
I swear this is how we got docker containers... some ruby dev who abused env vars and a SA who was sick of his shit breaking on every roll out and hearing "but it works for me"...
And now installable software is a fucking unicorn!
( This week I keep running into go apps that can be installed from source or as straight down load, with docker as well. Been a breath of fresh air)