For a customer I have created a SharePoint Designer workflow that is linked to a Forms Library. The workflow needs to start whenever an item added AND when an item is changed.
One of the steps in the workflow includes assigning a task to someone. This person needs to change a field in the form, after which the workflow needs to start again. However, if you assign a task (or To-do Item as it is called in SharePoint Designer) the workflow waits until the task is marked complete before it consideres the step finished. This means that if the person changes the value in the form and then marks the task complete (the most logical order) the workflow doesn't start again.
A kind of dirty trick to get around this is to add an action to the workflow that assigns a field in the form with it's own value after the To-do item action.