Grunt не является действительно инструментом компиляции. Grunt - это инструмент со всякими аддонами, используемыми для минимизации html, для обнуления скриптов, для перемещения элементов из вашей папки разработки в вашу папку dist, запуска локального сервера (что очень удобно с живой перезагрузкой), просмотра изменений в файлах , ...
Bower - это инструмент для строительства, который помогает организовать ваши интерфейсные зависимости. Вы устанавливаете материал через bower (с помощью командной строки node.js) и сохраняете его в своем приложении. Таким образом, вы можете легко управлять своими зависимостями, и единственное, что вы должны отслеживать, это (теоретически) ваш файл bower. Если вы нажмете его на Git, кто-то другой может легко установить все необходимые depdencies, основываясь на вашем файле bower.
Все эти инструменты предназначены только для упрощения управления проектами, зависимостей и раздражающих задач, которые в противном случае занимают много вашего времени.
редактировать: если у вас есть конкретные вопросы, касающиеся конкретного инструмента, изменить ваш вопрос;)
Строительные инструменты делают много вещей, кроме компиляции исходного кода. – Pointy