Pools allow multiple process definitions to be modeled in a single diagram, or to utilize lanes to show the personas interacting with a process definition. An example of using two pools would be for a customer to fill out an order in one process definition that sends a message on order completion triggering a second process definition for a warehouse team to action. The two processes would have two completely different process instance IDs at runtime but can be modeled on the same diagram to capture the business process in a single location.
Lanes are used to display different personas interacting with a process definition to the modeler. They have no impact on a process at runtime. Lanes are sub-divisions of pools and cannot exist without them. They can also be nested for example to show different teams within a department.
The scope of process variables are restricted to each process definition.