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 &#x2F; Report Generation &#x2F; Data Processing &amp; Migration (read: typical enterprise environment) and shares most of its&#x27; dependencies with other applications, while still having a unique configuration.<p>In such environment, having the means to create a vanilla project configuration and then extend&#x2F;customize it a tiny bit for each app is immensely helpful.<p>Now, of course, this can be achieved without bootstrapping frameworks, but the real game-changing feature is that you get a single &quot;executable jar&quot; artifact for deployment:<p>- VERY convenient and straightforward to use with containers such as Docker<p>- if you don&#x27;t use Docker, 100 jars are still easier to maintain than, say, a cluster of 100 Jetty instances<p>- 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 &amp; cron<p>Besides that you usually get:<p>- pre-packaged health-check and monitoring tools<p>- if bootstrapping framework is popular enough: community support for plug-and-play modules&#x2F;plugins that leverage some particular framework&#x2F;technology (e.g. Bootique framework is an excellent example of modular approach: <a href="https:&#x2F;&#x2F;github.com&#x2F;nhl&#x2F;bootique" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nhl&#x2F;bootique</a>)