At a previous job, we developed a desktop application. When the application crashed it would allow the user to submit the core dump to our crash system. We would then have a crash dump + application version and we could investigate customer issues to see if there was a bug or something like out-of-memory issues.
Fairly standard practice for a lot of shops. I haven't seen it for web applications since it's mostly dynamic languages with exception handlers that ultimately trap the exceptions (e.g. sentry).
I work on an SD-WAN router (though on the "systems" side of things like configuration and upgrades, not routing or anything like that). The vast majority of the code we write in is C++, so when we get a crash, basically all we have are logs and core dumps; there's no stack traces in there for us!
In my case of high performance Java, core dumps were immensely useful for investigating issues like JVM bugs (C2 compiler bugs, GC bugs, classloader bugs) but also kernel bugs and hardware issues as well.