Здесь написано, что goto плохо потому что позволяет отстрелить ногу (an invitation to make a mess), но это очень тупой довод по-моему. Настолько же тупой, как и любые объяснения, почему не нужно сидеть в шелле от рута.
Вообще говоря, насколько я понимаю, польза заключается в применении goto для выхода из циклов и вложенных вызовов. Для первого в перле есть версии операторов контроля циклов с метками. Для второго в перле ничего нет, хотя в некоторых лиспах есть return-from