If one looks at (perhaps older) manuals of Drools or some other rule engines, one of the illustrations of their added value is solving puzzles such as the Miss Manners puzzle (manual of Drools). Now, such puzzles are naturally formulated and solved using Prolog or the more recent Constraint Programming languages, and one wonders why would anyone would use Drools for this purpose. The added value which Prolog and CPL give in this case is their ability to naturally formulate the puzzle as a set of logical predicates and to automatically search the space of solutions (with CPL being more efficient in this respect). But what is the added value of product such as Drools (I mean besides of the bells and whistles of taking, for example, an Excel file and translating it into a set of rules)?
More specifically, Prolog implements backtrack search, CLP implement backtrack search with constraint propagation, and therefore instead of searching, so to speak, the whole Cartesian product of spaces for individual variables, they prune away large portions of this product space. This what makes them effective and useful. Both Prolog and CLP are discussed amply in the literature.
On the other hand, while it is clear that Rete algorithm caches the set of rules in the form of some data structure(s), thus (to my understanding) making it more effective to evaluate the output if some of the inputs have changed, and giving means to efectively update this data structure for incremental changes, it is difficult (for me) to understand the basic idea, and even more so, its efectiveness (compared to what? to Prolog? to CLP)? Unfortunately, it is hard to find good references that view Rete algorithm in this wider context.
The documentation of Drools is unfortunately not very informative in this respect. The most I could find was "The Rete algorithm, Leaps algorithm, and its descendants such as Drools' Reteoo (and Leaps), provide very efficient ways of matching rule patterns to your domain object data. These are especially efficient when you have datasets that do not change entirely (as the rule engine can remember past matches). These algorithms are battle proven". Very efficient - compared to what? Battle proven - could one point to real world applications?
I would appreciate if one could throw some more light on this subject or give a valid reference.