Gateways are elements that allow you to create branches in your process. These branches can be, conceptually, diverging or converging. You can model the behavior of the different types of business process sequence flows: conditional branching (inclusive and exclusive), forking, merging, and joining.
Fork (split) indicates a flow dividing into two or more paths that should execute in a logically parallel (concurrent) way: jBPM, for implementation reasons, never executes parallel flows concurrently (at the thread level) but always sequentially, one step at a time
Join (or synchronization) refers to the combining of two or more parallel paths into one path
Branch (or decision) is a point where the control flow can take one or more alternative paths
Hence, the gateway...