Ведь эта утилита не выполняет одну задачу хорошо, а представляет собой целый комбайн, применяемый для разных целей.
Там огромное количество вариантов настроек, и много способов разных применений.
Может быть имело смысл делать несколько разных утилит вместо этой одной?
Ведь существуют отдельно утилиты бекапов, существует git для дифов текстовых файлов, существуют утилиты для компрессии (отдельные). Да, на момент создания rsync кое-чего не было. Но сейчас-то есть.
Если бы вы проектировали новую операционную систему, как бы вы поступили?