Поправьте меня если я ошибаюсь. Предположим у нас установлены пакеты глобально. У нас есть небольшой проект над которым работает один разработчик и вообще не является особо важным. Тогда мы работаем с gulp и со всеми зависимыми пакетами глобально. Но нам ведь ничто не мешает изолированно развернуть gulp в другом проекте с установкой зависимых пакетов локально согласно конфигурации package.json.