Question: What problem/s does a Rule Engine Algorithm solve?  

Which are the recommended ones?

Answer: 
* **The problem is just too fiddly for
traditional code**: The problem may not be complex, but you can't see a non-fragile way of building it.
* **The problem is beyond any obvious algorithm based solution**: It is a complex problem to solve, there are no obvious traditional solutions or basically the problem isn't fully understood.
* **The logic changes often**: The logic itself may be simple (but doesn't have to be) but the rules change quite often. In many organizations software releases are few and far between and rules can help provide the "agility" that is needed and expected in a reasonably safe way.
* **Domain experts** (or business analysts) are readily available, but are nontechnical.

Taken from [this site](http://www.jbug.jp/trans/jboss-rules3.0.2/ja/html/ch01s02.html)
Rules engines tend to try and solve problems that change frequently or are sometimes poorly defined quickly and easily.

They are not very complicated and many implementations present serious performance and scaling challenges.