Currently, we are setup for static branching. This means that in order to construct the plan for all of the analysis x dataset combinations, we have to know in advance all of the analyses and datasets. Dynamic branching would allow the code to defer that aspect of generating the plan.
The main benefit I see is that it would simplify some of the code to generate the plan for analyses.