Webpack идеально подходит для SPA-приложений. Разумеется, его можно использовать и для классических приложений, хотя это уже будет не так изящно. Разумеется, все вышеперечисленное может и gulp, однако gulp - это все же таск-раннер, т. е. инструмент более общего назначения, а вебпак - это сборщик, т. е. инструмент, заточенный именно под сборку приложений. И да, использование webpack, как правило, освобождает от использование gulp. По поводу плагинов - почитайте доку
https://webpack.github.io/, там найдете и про плагины и про все остальное.