The reason we use TriggerAddCondition() instead of TriggerAddAction() is because it performs faster than the later (There are benchmarks supporting this I think). And the reason we return FALSE is so that the trigger doesn't attempt to run the triggeractions (which is empty in this case, but still has an overhead - like calling TriggerExecute() on a trigger with no actions) when for example there is only one triggercondition registered and it returns TRUE.