Разница огромна.
В распределенных системах каждый разработчик работает в своей песочнице; у него есть свобода экспериментировать столько, сколько он хочет, и толкать в «главный» репозиторий только тогда, когда его код готов.
В центральных системах все работают в одной песочнице. Это означает, что если ваш код нестабилен, вы не можете его зарегистрировать, потому что нарушите код других пользователей.
Если вы работаете над функцией, прежде чем она стабилизируется, пройдет некоторое время, и, поскольку вы не можете позволить себе фиксировать какой-либо нестабильный код, вы будете вносить изменения до тех пор, пока они не станут стабильными. Это делает разработку действительно очень медленной, особенно когда над проектом работает много людей. Вы просто не можете легко добавлять новые функции, потому что у вас есть проблема стабилизации, когда вы хотите, чтобы код в транке был стабильным, но вы не можете!
с распределенными системами, поскольку каждый разработчик работает в своей собственной песочнице, ему не нужно беспокоиться о том, чтобы испортить чужой код. И поскольку эти системы, как правило, действительно хорошо справляются со слиянием, вы все равно можете поддерживать свою базу кода в актуальном состоянии с основным хранилищем, сохраняя при этом ваши изменения в локальном хранилище. *