Помимо всего прочего, на мой взгляд - вещи, которые меняются - это всегда дополнительная сложность и источник дефектов. Таким образом immutable позволяет уменьшить вышеуказанные риски, порой ценою ресурсов.
Допустим есть класс, в котором есть какое-то поле, которое устанавливается при создании экземпляра этого класса, и читая код - мы можем быть 100% уверенны, что это поле сохранит своё значение при любых условиях для данного экземляра и нам не нужно будет выискивать чтобы ещё с ним могло произойти. Опять таки, можно не заморачиваться с геттерами создал публичную immutable переменную - и данные сразу защищены от записи извне.