Consider the following rules of thumb. In V4.2, a wizard (accessible from the portal link "Create New Rule from File" in Accelerators and Wizards gadget of Dashboard tab) creates decision rules based on these considerations.
If you're making decisions on series of data that are different from one branch to the next, use decision tree.
If you're making decisions against the same data element, use decision table.
If you're making decisions on the basis of only 1 or 2 values, then use MapValue.
If you want to get a Boolean returned, or when your decision employs a lot of complexity but doesn't need to be applied to a lot of cases, consider using a When rule.
To put it simply,
Decision Tree: Decision tree is similar to IF-ELSE-THEN evaluation criteria we have in traditional programming. We can apply any number of criteria to evaluate the conditions. The works from Left to Right and Top to bottom. When a particular condition is meet the evaluation process is stopped. If none of the conditions are meeting a default or other value is return back to the calling function.
Decision Table: Decision table are similar to our SQL Tables where we apply WHERE clause to put conditions. We can write more than one condition. The table returns number of rows that meet the specific criteria.