Верно и так и так, но есть нюансы.
Предположим есть проект, в нем есть таск для сборки js (с помощью gulp).
Вы можете его запустить вот так - npm run build-js либо gulp build-js.
Однажды, кто-то из разработчиков переделал таск сборки js (теперь собирается с помощью webpack).
npm run build-js по-прежнему работает, а gulp build-js будет ругаться, что такого таска нет, потому что теперь нужно запускать - webpack build-js