Стало быть, когда имеет место промышленное программирование, создание большого программного продукта командой, и надо обмениваться кодом между людьми, тогда имеет смысл хранить в общедоступном месте. А когда человек чем-то занимается "в однова", хранить в сети смысла нет. (А я, собственно, совсем не программист, а научный работник, который занимается вычислениями в рамках своей работы.
При хранении кода есть разные задачи:
1. Хранение истории правок.
2. Перенос кода между своими компами, когда их несколько.
3. Синхронизация правок между членами команды.
4. Резервное копирование.
Строго говоря, специальная система хранения версий нужна только для синхронизации между членами команды (и то, когда-то работали команды и без таких систем). Всё остальное можно делать вручную. Но для хранения истории правок оказывается удобным пользоваться какой-нибудь системой хранения версий и тогда, когда проект небольшой и свой собственный. Создав локальный репозиторий. Внешний репозиторий в интернете (или хотя бы на рабочем сервере) крайне полезен только для задачи резервного копирования.