Проблема возникает, когда вы пытаетесь использовать настройки, и особенно когда вы пытаетесь протестировать код, использующий настройки. Внезапно весь код оказывается связанным вокруг одной переменной. Это становится еще более неудобным, если вы хотите разделить код на различные модули.
В целом, это более удобно, хотя и немного более многословно:
(DI-фреймворк сам будет иметь глобальные файлы, но предоставляет больше инструментов для управления ими)
Рекомендую посмотреть эти видео для лучшего погружения в вопрос: