Нельзя на 100% быть уверенным, что присваиваемое значение не придется как-то обрабатывать (например, приводить преобразование значение имени из "иванов ИВАН" в "Иванов Иван"). Если пользоваться сеттерами, то доп. обработка реализуется внутри класса и все. Если значения устанавливались напрямую через свойства, то придется возвращаться к использованию сеттеров, попутно переписывая присвоение свойств объектам класса во всех местах, где объекты этого класса используются.