たぶん、例のように、ルールを決めて使い方を限定すれば、分かりやすいですが、GOTOはすごく便利なので、つい他の使い方をしたくなって、プログラムが分かりにくくなりがちだからだと思います。 あと、個人的な理由としては、BREAKやCONTINUEと併用すると、ほとんどGOTOを使う必要がなくなり、ラベル名を考えなくて済むようになります。(繰り返しは、3つしかないけど、ラベル名はいっぱいあって、考えるのが大変だから、めんどくさいです。)