プログラムの数が増えてくると、メリットがあります。 もしもグローバル変数しか定義できないとすると、全プログラムでそれぞれ異なった名前の変数名を付けなくてはならなくなってしまいます。 その作業は大変ですし、うっかり同じ変数名を付けるとバグの原因ともなります。 このような場合、ローカル変数=そのプログラム内でしか通用しない変数が使えれば便利、ということです。