A workflow instance is a running instance of a workflow definition.
Once a workflow instance has been started, it can’t be changed. If you change the underlying process definition, it’ll be versioned. Any new workflow instance will reflect any changes to the workflow definition. Any old instances currently running will reference the old definition.
Workflow instances survive server restarts, so all user tasks will still be running if you stop and restart the server. Process and task execution variables also survive server restarts.