文字列リテラルの話です
リテラルで表記した文字列オブジェクトを変更するなら、ミュータブルの必要があるし、変更しないならイミュータブルでもかまいません。
という当たり前のことしか言えませんが、イミュータブルにして困る事はあまりないのではないかと思います。
Ruby3.0ではデフォルトがイミュータブルになりそうと言う事なので、これから新たに書くプログラムで、リテラルがミュータブルである事を積極的に利用することは無いかなと思います。
ソースに、# frozen_string_literal: true
と書くかどうかですが、3.0になれば記述不要になるので、考えどころですね。
ソースに書かず、export RUBYOPT="--enable frozen-string-literal"
すると、動かないライブラリがあるかもしれないし。(⇒ やってみると、pry
でエラーが出ました)