An e-commerce application I used to work on used a decision tree and a rules engine for each node in order to determine if a customer qualified for certain discounts.
The problem was that every promotion tree had to be evaluated, so the more promotions the client had the slower the evaluation became.
This was a big problem that was often solved by throwing more hardware at it.
There were alternatives to consider, but the promotions engine was a considerable undertaking.
I always wondered if there was a way to consider an alternative without developing it (or developing it entirely)?