Die Sache geht auf einen Artikel von Dijkstra zurück: "GOTO considered harmful". Gibt's bestimmt im Netz. Der leitete den Trend zur strukturierten Programmierung ein und war daher sehr wichtig.
ABER:
Es gibt (zumindest in C und Assembler) viele Situationen, wo es Sinn macht, GOTO zu verwenden. Der Linux-Kernel enthält etliche GOTOs, und ich denke, die entsprechenden Leute können programmieren.
Gruß
Phaidros