Rules Engine is used for externalizing the business rules (especially ones that are complex and constantly changing). For example, if you build a universal accounting product in
Java, it is better to
externalize your business rules relating to tax and accounting rules as it would vary from country to country. For example, GST or VAT will vary. The business will set up these values via a business rules engine product as a set of rules and values, and the main application written in Java or what ever will pick up these rules.