Если над проектом работает много людей и все собирают проект у себя -- или централизованно -- то проблемы, которую я опишу ниже, скорее всего не будет.
А вот если программу пишет один человек, а к нему иногда подключается второй?
И вот я этот самый второй. Собираю проект. "Файл не найден".
*пингвин кланяется*
Когда собираешь проект только у себя и иногда коммитишь, то можешь не знать, что твои коммиты нерабочие. У тебя-то всё работает. И будет работать. А что ты файл какой-нибудь добавить забыл -- это ерунда. Я сам так попадался неоднократно.
Можно быть сколько угодно раз внимательным, но иногда такое будет происходить.
А чтобы такого не было -- надо всегда собирать проект по крайней мере на ещё одной машине, стянув изменения из репозитория.