>>38のメリットは、関数化によるものは当然ですが、@を変更するだけで、分岐を増やしたりそれぞれの確率を変えたり出来る修正の簡略性でしょうか。

関数の中では、分岐IDを返すのはforとかdo loopになってますが、
普通にselectを使う場合の分岐を増やしたり確率を変更したりする時より修正の手間が減るかと。