I assign work mostly at the lowest subtask level. This is where we make notes on work, log time, etc. once all lower level subtasks are completed the parent (deliverable) task would then be completed as well.
Additionally if one of the subtasks is marked as in progress, then the parent task should also automate to be in progress as well.