require — зависимости runtime; require-dev — инструменты разработки/тестов, не нужные в проде.
Разбор
- phpunit/phpstan обычно в require-dev.
--no-dev на проде.
- Не кладите прод-код только в dev.
- Версии фиксирует lock.
Итог
Разделение runtime и dev зависимостей уменьшает поверхность прода.