webpack позволяет делать препроцессинг js и других зависимостей, таких как стили, графика и т.п. Во сколько файлов компоновать - настраивается под конкретные нужды проекта.
Сам webpack работает на ноде, но его работа нужна только в режиме разработки. Результаты сборки в nodejs не нуждаются, вы получаете собранные файлы (js, css, html, ...) которые будете отдавать статикой.
Делать сборку руками однозначно моветон. Хотя, конечно вы все можете сделать руками, даже экзешник в hex-редакторе набрать, но так уже давно никто не делает :)
Запаковка всех зависимостей в один файл - оптимизация времени загрузки, экономится время на соединение с сервером, а передаваемый объем даже уменьшится т.к. большой файл в gzip-нутом виде занимает меньше чем 20-30 частей его составляющих сжатых по отдельности.
require вы сможете использовать если будете использовать webpack. Если без него, то смотрите
common.js