Прозрачность.
Потому, что так сложнее контролировать то, что приходит (тайпхинтинг), документировать (phpDoc), кроме того нужно ещё дополнительно проверять массив на наличие нужных ключей.
Это не говоря уже о том, что это портит end-user experience, когда вы работаете, скажем, в какой-нибудь IDE, где вам будет очень понятно и удобно показываться, какой аргумент для чего нужен и какого он типа.
Плюс, вы немного странное сравнение делаете. Если уж сравнивать инициализацию через конструктор, то с инициализацией через конструктор с отдельными аргументами.