Frankly, this forum may be your best resource? I'd start digging (like you are) and ask questions as you get stuck - here's a 10,000 ft view for your initial items mentioned:
JACK:
An audio routing service (JACKD <- the D refers to daemon, or continually running service).
JACK aware audio applications can register audio/midi inputs and outputs with the JACK service, and you can use something like qjackctl Connect dialog to connect inputs and outputs of different applications to "route" audio between them.
OSC:
An ip network based protocol, for sending control messages to listening devices/software/services. It could be considered a control protocol somewhat like MIDI (in the sense you can control similar sorts of devices with OSC) but this comparison doesn't hold up for long. I find OSC significantly more flexible, and significantly more complicated to understand.
OSC communication operates external to something like JACK, it just requires an ip network interface (local or external)
ALSA:
The low level sound architecture implemented in the linux kernel to manage sound card/midi devices - JACK and PulseAudio both operate as an abstraction layer to ALSA ie they both require ALSA in order to function, but their intent is to provide more convenient tools/functionality for certain purposes.
PulseAudio is intended to simplify desktop audio management, JACK provides realtime audio routing capabilities, and you can even bridge PulseAudio in JACK using JACK aware pulseaudio modules (allowing you to route audio from non-JACK aware applications like web browsers into JACK via the pulseaudio JACK modules)
Hope that clears a little of the confusion, I was on the same journey you are about 3 years ago. The only way I got through was a lot of trial, error, reading bits and pieces, but there was not a coherent resource that explained everything that I recall finding.