The stack traces tend to be useful when there is a programming error in your program, and less useful when there is any other type of error. In Go, programming errors usually panic which will print a stack trace by default.
But I’ll see Java programs that give me stack traces just because I’ve misconfigured them, or the server is down, or I have a bad network connection, or a file is missing. This is awful UX. Worse, the stack trace might not tell me WHICH file is missing, or WHICH server is down.
You only get good UX for errors by manually annotating context in the places in your code where the context is known.
(My personal experience is that FAR too many actual Java programs in the wild will give me a stack trace when they should give a short error message.)