Goto é uma boa ideia quando nenhum dos built-in control features faz exatamente o que você deseja e quando você pode expressar o que deseja com um goto.
Observe também que a instrução goto tem um caso de uso muito específico. A especificação de linguagem em goto afirma que ela não pode pular variáveis que entram no escopo e não pode pular para outros blocos.
goto minhaLabel