That's usually not the full error message, and you can still easily find the number's meaning by opening the man page of wathever piece of software terminated with that exit code.
Depends really. If it's some kind of runtime or VM you pretty much have zero idea what the exit code was. Python, CLR, JVM tend to leave you in this mire.
Not necessarily. Most of the 139's I get these days are SIGSEGV related. Obviously if you annoy the MMU at that level it's not going to get given an opportunity to write anything useful to stderr.
dmesg has been there since forever. If anything windows (auto) update has been one of the worst part, esp. when it fails to update... or worse replaces your video/printer driver with whatever it finds. The latter (video) messes up audio for hdmi/displayport in addition of installing bogus drivers.
I'd be tad happier to have apt install/apt update/upgrade instead of windows schedule 'updates'