Direct hold  is a hold put directly on a particular task only.

Derived hold is a hold put on the task directly as well as derived hold put on packages and all the tasks in a work order / customer order.