In an UML state diagram, branches in the process flow can be modeled using choice elements (represented by a diamond-shaped symbol) with conditions on the outgoing transitions (see example).
On the other hand, junction elements (represented by a filled circle) can be used to merge several incoming transitions and/or split the process flow into several outgoing transitions, which may also have conditions (see example).
So is a junction really a generalisation of a choice? Is there a situation in which you must use a choice and could not use a junction?