A workflow begins in one of three ways.
An event
Runs when a record is added, changed or deleted, either before or after the change is saved. The usual choice for "when something happens, do this".
Note that a workflow reacting to a change it makes itself can start itself again — check your conditions carefully before setting one active.
Manually
Runs only when somebody asks — from the Run… button, or from a button in your own application. Good for anything that should be a deliberate act: escalating a case, regenerating a document, starting an onboarding sequence. Also the right choice while testing.
On a schedule
Runs every so many minutes, driven by the task engine.
Choosing between an event and a schedule
An event reacts immediately, but only to a change. A schedule catches things that become true through the passage of time rather than through anybody editing anything.
"Notify me when a record has been sitting untouched for three days" is a schedule, not an event — nothing happens to the record on the third day, which is precisely the problem.
If event workflows stop running
Event triggers are wired through the rules mechanism. After a platform upgrade, this is the first thing to check — if the wiring is disturbed, event workflows stop silently, with nothing in the error log. Manual and scheduled workflows are unaffected, which is a useful diagnostic in itself.