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).
At the lowest level, a forward-chaining rule engine allows you to structure rule sets (often large rule sets) in roughly the following way:

```
if (Condition A) {assert (Condition B)}
if (Condition C) {assert (Condition B)}
if (Condition B) {do something}

```

The conditions can also have parameters:

```
if (Condition A (X, Y)) {assert (Condition B (X)}
if (Condition C (X)) {assert (Condition B (X)}
if (Condition B (X)) {do something with X}

```

These chains could be as deep as you want. The [Rete algorithm](http://en.wikipedia.org/wiki/Rete_algorithm) and its variations allow efficient processing of large rule sets.

The problem that rule engines solve is to separate maintenance of the rule sets from the application - the rules can be reconfigured without having to rebuild the application. While (in theory) non-technical analysts or SMEs could maintain the rule sets themselves, in practice it takes a bit of technical savvy to avoid shooting yourself in the foot on a complex rule set - and rule engines are a bit pointless if you don't have a large rule set.

Where rule engines really shine is where the rule set is large and changes often, or where they are built into packaged applications and used to configure the application to support customer-specific business rules or workflow triggers.