Когда проект большой просто удобно разложить отдельные мало связанные друг с другом части в разные файлы.
Большие проекты могут насчитывать миллионы строк кода, это будет много даже в мегабайтах. Не каждый текстовый редактор сможет просто открыть такой документ, а сохранение будет каждый раз приводить к ощутимой задержке.
Кроме того часто не только в файлы раскладывают, а еще и отдельные папки заводят, если части вообще не зависимые.
Вы не пишите сразу весь проект и 99% существующего кода вам не нужна вот прям сейчас. В текущий момент времени вы работаете над каким-то конкретным участком кода и функционалом. Удобно когда весь код находится под рукой. Да, когда код разбит на файлы, часто работая над одним функционалом, приходится держать открытыми несколько файлов, но их количество ограничено и их размер достаточно не большой.
Если вы только начали изучать крупный проект, то в начале будет тяжело ориентироваться, но уже через несколько дней изучения кода это не будет для вас большой проблемой. Хорошая IDE то же помогает в этом случае.
Части проекта помещенные в отдельные файлы вы можете использовать на прямую в другом проекте как есть, без копипасты и поддержания одного и того же кода в разных проектах, просто скопировав файлы в другой проект или подключив submodule в гите.