First thing first, what is a branch in the Workflows?
Branches can be created by:
Conditions - To divide users between those who match them and those who do not.
Split - To arbitrary split users in two groups.
Real-time testing - To rely on an algorithm that will push the most relevant content for each user.