Wilder, I think Paul answered all your questions except "What is a modem?".
But first, one thing I didn't say: NEVER, EVER flash (install) any ROM that you aren't 100% certain is intended for your exact make, model and carrier version of your phone. Flashing a ROM for an international S3 on a North American S3 will almost certainly hard brick your phone, as will flashing a ROM for a different model (e.g., flashing a GS4 ROM onto a GS3). Flashing a GSM ROM (AT&T, T-Mobile) on a CDMA phone (Sprint, Verizon) or vice-versa will, at a minimum, soft brick your phone. Even flashing a Verizon ROM on a Sprint phone can cause a lot of grief. Not all ROM developers are very good about making clear what device(s) their ROMs are intended for. If you're getting a ROM from XDA, make sure it's in the Sprint Galaxy S3 forums.
Modem: The modem is what people call the firmware that directly controls the cellular radio circuitry in the phone. That's probably a misnomer, as a modem is really the combination of hardware and software. If you look in Settings / About device, you'll see an item listed as "Baseband version." That's the modem firmware.
The firmware that controls your phone really consists of three parts. There's the OS, which is Android version 4.1.2 plus whatever tweaks Samsung and Sprint have made. There's the Kernel, which is the part that directly interacts with the hardware other than the radio (e.g., the screen, the digitizer, the speaker, etc.). And then there's the modem, which controls the radio. All three work in sync. You can see what version of each you're running by looking at Settings / About device.
When you flash a complete ROM in Odin, or download an OTA from Sprint, you're getting all three in one package. When you flash a ROM in recovery, you're generally only flashing the OS. Kernels (stock and modified) and modems are typically available separately, and can be flashed in recovery just like a ROM. IN GENERAL, modems are independent of the OS, and you can mix and match. Say, run an LJ7 modem with an MD4 ROM (OS). Some find that a particular modem file may work better in their location than another. But the new 4.3 ROM (MK3) doesn't seem to play well with older modems, so if you decide to flash an MK3 ROM you should also flash the MK3 modem at the same time. I also suspect the MK3 ROM will work better in areas that have received the latest Sprint tower upgrades. It's available on XDA, too, and you can run it with an MD4 ROM. That's my setup right now: MK3 modem, MOAR 6.1 (MD4-based) ROM, and MD4 Kernel.
In general, I would recommend running a Kernel of the same release as your ROM. (e.g., if you're running and MD4 ROM, run an MD4 Kernel). If you read in the Sprint forums on XDA you'll find a lot of customized, or "optimized" kernels available. Developers go in and tweak the code, removing debugging code that Samsung left behind, fixing Samsung bugs, optimize display drivers, adding options to let you under- or over-clock the cpu, change cpu voltages,and more. Some of these can significantly improve the performance of your phone. Some of them cause all sorts of glitches. And playing with options like over clocking and under-volting can prevent your phone from booting at all if you go too far. And kernels are funny. Or maybe phones are funny. A kernel that works perfectly well on some GS3s may not work well at all on other, seemingly identical phones. Before flashing custom kernels, I strongly recommend reading through the entire thread devoted to that kernel to see what issues people are reporting. I'm currently running the Decimalman optimized MD4-based Kernel.
Actually reading complete threads, or at least the first few posts, and the last few weeks worth of posts, is a good idea before flashing any custom ROMs, too. Almost any ROM thread on XDA will have complete instructions for flashing that ROM in the very first post, with any special concerns or steps you need to follow. Most of the problems I see people having with custom ROMs are directly related to them not following instructions.
Finally, always, ALWAYS, use recovery to make a nandroid recovery of your phone before flashing any new ROM, modem, or Kernel. That backup will be the easiest way to recover if you make a mistake and screw something up.