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

Which are the recommended ones?

Answer: 
A rules engine can encapsulate business logic, often in a declarative manner. This avoids the need to custom-code business logic in software.

A rules engine algorithm is how the rule matching and triggering is implemented, so it's an implementation detail rather that actually solving a problem itself. Algorithms might have different non-functional strengths or weaknesses. A common example of a rules engine algorithm is the [Rete Algorithm](http://en.wikipedia.org/wiki/Rete_algorithm), used in the Java rules engines [JESS](http://www.jessrules.com/jess/docs/52/rete.html) and [Drools](http://legacy.drools.codehaus.org/Rete).
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.