You have a Java application, and now you need it to do something Java is awkward at. Maybe you want to let users script your app without recompiling it. Maybe you want to change a piece of business logic without a full redeploy.
Source: [Dev.to](https://dev.to/cup_of_code/why-aussom-3mmk)