I know there is no reason to use a goto statement. But remember that I was never formally trained. Never took a class in programming. Everything I know is 100% self-taught.
goto has its place. I find it useful for doing common cleanup that would otherwise be repeated multiple times in a function. If done correctly, it can make code cleaner and more efficient.
That being said, it's often misused and abused. Which is mainly where all the horror stories come from.