Я думаю тут не совсем корректен вопрос «зачем», я думаю это просто свойство, которое является прямым следствием архитектуры системы. Я не уверен, с какого конца шли проектировщики юникс, но мне кажется, что не от «давайте сделаем дерево процессов», а «как будем реализовывать создание и управление процессами». Дело в том, что в юникс, процессы, кроме init, не создаются просто так, «из воздуха», они всегда отпочковываются от другого процесса (fork) и в результате из одного процесса получаются два — родительский и дочерней между которыми есть тесная связь (и как следствие естественным образом получая древовидную структуру). Кроме уже упомянутых сигналов, дочерний процесс наследует дескрипторы файлов, через которые, если надо, налаживается связь между дочерним и родительским процессом.