Ну, например, чтобы правильно ответить на собеседовании. :)
Многие компании спрашивают это хотя бы на каком-то базовом уровне.
Вообще, иногда спрашивают классические задачки из Computer Science.
Ну или чтобы успешно выступать на олимпиадах - там это сплошь и рядом.
Пример, который был бы наиболее близок к большенству разработчиков, с чем они сталкиваются каждый день - сборщик зависимостей (package manager, bundler или как угодно называйте) перед компиляцией/запуском.
Идёт построение т.н DAG -
https://en.wikipedia.org/wiki/Directed_acyclic_graph , чтобы не было петель.