devDependencies — пакеты, которые нужны для разработки. Всякие галпы-гранты и плагины к ним обычно подпадают в эту категорию.
dependencies — пакеты, от которых ваш пакет зависит непосредственно: как правило — библиотеки.
Ставятся они все в node_modules.
Тут подробнее:
https://toster.ru/answer?answer_id=559717#comments...
Если кто-то делает npm install вашему пакету, то npm подсосет те пакеты, которые указаны у него в dependencies, но не в devDependencies.
Если сделать npm install внутри папки, в которой есть package.json, то установятся и те, и другие.