Частично причиной является, конечно, технический аргумент, что DVCS хранят больше информации, чем SVN (DAG, копии), а также имеют более простую внутреннюю модель, поэтому она способна выполнять более точные объединения, как упомянуто в другие ответы.
Однако, вероятно, еще более важным отличием является то, что, поскольку у вас есть локальный репозиторий, вы можете делать частые небольшие коммиты, а также часто извлекать и объединять входящие изменения. Это вызвано в большей степени «человеческим фактором», различиями в том, как человек работает с централизованной VCS по сравнению с DVCS.
С SVN, если вы обновляете и возникают конфликты, SVN объединит все, что может, и вставит маркеры в ваш код, где это невозможно. Большая большая проблема в том, что ваш код больше не будет в работоспособном состоянии, пока вы не разрешите все конфликты.
Это отвлекает вас от работы, которую вы пытаетесь достичь, поэтому обычно пользователи SVN не объединяются, когда работают над задачей. Добавьте к этому тот факт, что пользователи SVN также склонны позволять изменениям накапливаться в одном большом коммите из-за боязни взломать рабочие копии других людей, и между ветвью и слиянием будут большие промежутки времени.
С Mercurial вы можете объединяться с входящими изменениями гораздо чаще между вашими небольшими добавочными коммитами. По определению это приведет к меньшему количеству конфликтов слияния, потому что вы будете работать над более современной кодовой базой.
И , если окажется конфликт, вы можете отложить слияние и сделать это на досуге. Это, в частности, делает слияние намного менее раздражающим.