You can pass variables between Workflows. This is useful if you want to use a previously created variable within the scope of a single Workflow. For example:
You want to collect user information in one Workflow, then validate it in a sub-Workflow.
You have a Workflow that stores items in a virtual shopping cart, and you want to process payment for those items in a sub-Workflow.
You have some condition in one Workflow, and you want a sub-Workflow to behave differently based on that condition.