When working on complex projects, you’ll have to deal with interconnected tasks. Let’s say you run a full cycle digital agency and got a new client. You’ll have tasks for designers, copywriters and web developers. You’ll also need to host the site somewhere and run ads for it. There is no point in paying for web hosting, before the site is completely done. And there is point in advertising the site, before it goes live. When you establish task dependencies, a delay in one task (finish website design) will automatically move dates back for another (start website testing). Likewise if the site was finished earlier, tasks for your ad team will be moved up.