Один из аргументов: свойства помогают отделить интерфейс класса от его реализации. Если программисту понадобится, например, добавить возвращаемому имени какой-нибудь префикс, достаточно будет лишь изменить код внутри свойства Name. Интерфейс класса при этом останется прежним. Это позволит провести необходимые изменения в классе ценой меньшего объема изменений в других местах программы.