Task is a wait state where it requires manual action. Task typically represents runtime state of the manual task. So once the task is done the "Task" entry from db is removed.
Execution is the common representation of runtime path of execution. So every process instance is an Execution, every sub process is also an Execution. There is execution underneath for tasks as well.
Thanks again Santanu.
Makes sense. Especially the "entry from db is removed" part. Now I understand why hibernate would complain about multiple entries being found, if I moved from one task to the next. (i.e. I should mark the first task as completed!)