A qui te pongo un estracto de wiki
Controversia generada
A diferencia de la llamada a una función, no se requiere ningún tipo de preparación o estructura de código para utilizar un GOTO. Como resultado, es más sencillo obtener código inconsistente, incompleto o complicado de mantener. Justamente por ello en los años 60 y 70, cuando surgió la programación estructurada, la comunidad informática se expresó a favor de otras sentencias de control (if ó bucles for y do/while) en lugar del GOTO.
Tal creencia está tan arraigada que el GOTO es muy criticado por los dedicados a la enseñanza de la programación, que lo suelen desaconsejar. Por el otro lado, algunos que si bien admiten el uso de un GOTO como una práctica desaconsejable, reconocen que éste es la mejor opción para algunas pocas tareas puntuales en algunos lenguajes de programación (manejo de excepciones por ejemplo). Además, por lo general se programan macros o equivalentes para evitar la utilización del GOTO.
Una crítica famosa a la sentencia en cuestión es una carta redactada por Edsger Dijkstra llamada "Go To Statement Considered Harmful" (Sentencia Go To Considerada Dañina). En ella Dijkstra argumenta que el uso irrestricto del GOTO debería ser prohibido en lenguajes de alto nivel ya que dificultan el análisis y la verificación de la corrección de los programas (especialmente aquellos que contienen ciclos). Por el otro lado, Donald Knuth en su libro "Structured Programming with goto Statements" (Programación estructurada con sentencias Goto), toma en cuenta ciertas situaciones en las que el GOTO sería la sentencia a utilizar. Por lo general, éstas son situaciones en las que una estructura de programación en particular no se encuentra disponible y el GOTO puede simularla eficientemente.
El abuso de esta, aparentemente ágil sentencia, da lugar a los que se suele denominar como código espagueti, por que ese es el aspecto del seguimiento del programa, un plato de "espagueti", esta es una descalificación de una aplicación informática, equivalente a "chapuza indescifrable".
Los compiladores e intérpretes de lenguajes de programación aún la tienen, como recurso de programación, pero las técnicas de programación desaconsejan o prohíben su uso.