Thought this was cool: Why don’t “advanced” programming languages have GoTo in them?
Many more recent languages have removed “goto” because general goto makes certain compiler optimizations harder, by creating “irreducible flow graphs” (search on the above phrase for details or see ACM link below). Goto is typically replaced by more advanced control flow constructs like exceptions or call-cc. These are easier for users to use as well as compilers to digest, so goto has gone away.
ACM link to Characterizations of Reducible Flow Graphs
from Franck Dernoncourt on Quora: http://www.quora.com/Programming-Languages/Why-dont-advanced-programming-languages-have-GoTo-in-them/answer/Daniel-C-Wang