goto's are only useful ( really ) when you want to break out of two loop controls. They are quite obfuscating otherwise. Additionally, there are numerous reports telling us that the more goto's there are in a code, the higher the complexity is.
Plus... There'd be quite a bit of problems with the environment change ( change in function / object / scope ). It's best not to use it at all... In ANY language -- Even ones that support it. The MAJORITY of the cases, they can be completely avoided. In cases that aren't... You could just make a function-call... using return foo();
If you really want to understand... Just imagine Zodiac if goto's existed.