Each workflow has enrollment triggers. A trigger can be based on filter criteria, such as a property value or list membership, on an event, such as a form submission, on a schedule, or on manual enrollment. When a record meets the trigger, it is enrolled and starts at the first action. When you turn a workflow on, you can usually choose whether records that already meet the criteria should enroll, or only records that meet them from now on.
By default, a record enrolls in a workflow once. Re-enrollment lets a record enter again when it meets a trigger a second time, and you choose which triggers allow it. This is useful for repeat events, such as a customer submitting a renewal form each year, but it can also cause duplicate emails or tasks if the trigger fires more often than you expect.
Unenrollment removes a record before it reaches the end. Common methods are settings that remove records when they stop meeting the trigger criteria, goal criteria that end the workflow once the outcome is reached, suppression lists, an action in another workflow, and manual removal. Which options you have depends on the workflow type and your subscription.
Most workflow problems trace back to enrollment. A workflow with zero enrollments usually has a trigger that never matches. A workflow that sends the same email twice usually has re-enrollment on a trigger that changes often. Review triggers, re-enrollment and unenrollment together whenever you build or edit a workflow.