GOTO is sometimes the best and clearest way to make something, although usually it will not be needed. Ideally, other flow controls such as FOR, WHILE, etc would be defined in terms of GOTO by use of hygienic macros, rather than being built-in features. You can then define your own flow controls too if you use some pattern a lot that giving that pattern its own name and macro is useful.
Direct dealing with the stack can be used to do some stuff normally done only in assembly language (although GNU C has some stuff, such as reading the stack pointer). But assembly language is specific to the target computer, and many libraries are not designed to be used with assembly language programs. However, some direct dealing with the stack might also depend on the target computer. Macros producing inline assembly code may be used if needed.
I do not know which other programming languages do such thing.