Speaking from my experience, benefit accumulates with the increasing number of applications under your authority, esp. in case each of these applications is some variation of CRUD Web Forms / Report Generation / Data Processing & Migration (read: typical enterprise environment) and shares most of its' dependencies with other applications, while still having a unique configuration.
In such environment, having the means to create a vanilla project configuration and then extend/customize it a tiny bit for each app is immensely helpful.
Now, of course, this can be achieved without bootstrapping frameworks, but the real game-changing feature is that you get a single "executable jar" artifact for deployment:
- VERY convenient and straightforward to use with containers such as Docker
- if you don't use Docker, 100 jars are still easier to maintain than, say, a cluster of 100 Jetty instances
- possible to use CLI commands to run short-living daemon jobs; no need for a separate job infrastructure (schedulers, triggers, executors and such), just use shell & cron
Besides that you usually get:
- pre-packaged health-check and monitoring tools
- if bootstrapping framework is popular enough: community support for plug-and-play modules/plugins that leverage some particular framework/technology (e.g. Bootique framework is an excellent example of modular approach: https://github.com/nhl/bootique)