Когда программа состоит из тысяч, десятков тысяч, сотен и миллионов строк кода, она не хранится в одном файле. А разбита на множество файлов, библиотек.
Чтобы собрать все разрозненные файлы в один исполняемый проект и нужны системы сборки.