Есть только один хороший аргумент в пользу CVS, и это в ситуациях, когда у вас есть проект, который будет иметь много разных выпусков и веток, в CVS легче просто вставить произвольный файл в ветка или метка, которые вам нужны, когда вам это нужно. SVN более формально относится к этим вещам и усложняет выбор одного файла и объединение его по мере необходимости. Это опасная вещь, но, как и прямые указатели памяти, иногда они просто нужны.
Это, как говорится, если CVS уже на месте, это может быть другая история. Там исчисление есть, есть ли польза в переключении. Возможно, SVN дает вам больше возможностей для кодирования на ноутбуке, отключенном от офиса. Вы можете запланировать файлы для добавления и удаления, и вы можете проверить это, когда вернетесь в офис.
Некоторые организации не мечтают предоставить своим разработчикам исходный код на своем ноутбуке, поэтому это не относится к ним.
Я считаю, что SVN должен быть вашим выбором по умолчанию для новых проектов. Он зрелый, его инструментальная поддержка так же хороша, как CVS, если не лучше, в некоторых случаях, и на самом деле не имеет каких-либо важных недостатков по сравнению с CVS.
Как говорится, GIT встал и грядет. Он все еще немного незрелый (например, поддержка Windows еще не достигла зрелой стадии), а поддержка инструментов все еще догоняет, но если для вас важно распределенное ветвление, стоит посмотреть внимательно.