Using it just to create spaghetti is not coding properly. Using it to exit is, IMHO.
There is never any need for “goto.”
I’ve been writing C++ code for twenty years, and have never once used “goto.”