ConfigMaps allow us to keep configurations separate from application images. Such separation is useful when other alternatives are not a good fit.
Almost every application can be fine-tuned through configuration. Traditional software deployment methods fostered the use of configuration files. However, we are not discussing traditional, but advanced, distributed, and immutable deployments through Kubernetes schedulers. Usage of fundamentally new technology often requires new processes and different architecture, if we are to leverage its potential to its maximum. On the other hand, we cannot just throw away everything we have and start anew.
We'll have to try to balance new principles and the legacy needs.
If we were to start developing a new application today, it would be, among other things, distributed, scalable, stateless...