In a typical modern web application architecture, we have two parts:
the backend server, which serves HTML pages to visitors
With Plone 6, both Classic and Volto Frontend, Webpack is used as the tool that gathers all the required JS application code and bundles them into static JS files which are loaded by the browsers.
So, included with webpack is the following functionality (all via plugins):
concatenate and provide "bundle and chunk loaders" for the multiple JS files
compiling LESS and SASS files to CSS, using their loader plugins
bundling the multiple CSS files together
loading other resources, such as images
There is a tendency in the industry to dismiss Webpack and Babel as being complicated and slow. For now it is the solution that provides the optimum amount of features and flexibility, while benefiting from the fact that it's the mainstream solution for these tasks. As alternative solutions are developed and mature, we may migrate Volto's basic tooling setup to one such solution.