関数内で勝手に変数を弄られないっていう保証が有るのが利点じゃないの?
欠点は渡す引数が多いとコピーする量が増えて遅くなる。