>>122
個人的には
a) 関数で関数外の複数の値を書き換えたいとき
b) 関数の実行によって、引数に使った変数の値が勝手に変わってほしいとき
に使ってる。
aのほうは配列を返す方法でもできるけどね。
bのメリットは、戻り値を気にする必要なく、単に関数を使うだけでいいということくらいかな。

別にわかりづらいとは思わないけど、>>119のようなバージョンによる違いを追うのは辛い。