Keep in mind, rustproofing, and undercoating, are two completely different things. And, require two completely different applications.
Rustproofing is a viscus, usually wax based product, that stays soft, and is made to seal seams, and coat inner panels.
Undercoating, is usually asphalt based, and is made to as the names says, undercoat the bottom panels that are exposed to the environment.
The short answer is, if you plan to keep your vehicles more than 5 years, and you live where rust is a problem, you should get your vehicle rustproofed, and undercoated. And, for best results, that should be done in the first year.
The problem then is, most applicators, do not do it properly. They often are either poorly trained, or just not interested in anything but profit. The material is expensive, so any they don't give you, is money in their pocket.
I've spent my whole life cutting cars that were "rustproofed" apart to repair them, after they were wrecked. From seeing them do sloppy workmanship, to flat our fraud, I've seen it all.
I would say less than 5% are done "right". And, 75% are done poorly. Their "warranty" is about having you come back every year, and so, the thought is, anything they miss this year, will get sprayed next year. Except, they put even less effort in it the next time. They expect you to either forget to have the annual "touch up" done, or sell the car before it rusts anyway. And, honestly, most cars can easily go 5 years now, with no help.
The other issue is, most vehicles now have foam, or other sound deadening insulation materials that make it impossible to do some areas.
The good news is, you can rustproof the easy areas yourself.
The most critical parts for corrosion, on most vehicles, is the bottom of the panels. i.e.-The bottom areas of the doors, hood, trunk, tailgate. These are pretty easy to do yourself, if you buy an aerosol can of
rustproofing, (NOT UNDERCOATING), and a long extension tube to put on the nozzle. You can also use a piece of small diameter tubing to make a longer extension to put over the 6" one that comes with the can.
You can spray it in through the drain holes, and try to coat the inside as best you can. Allow the excess to drain out, (be prepared for it to get messy), and verify the drain holes are still open. Use a tooth pick to clean any out, after it has a few days to set up, if any are starting to close up.
Reapply every two years. Applying when the vehicle is dry, and hasn't been wet for several days, is important. Applying in the fall when it's cooler, will minimize odor, from the material.
Rustproofing in an aerosol can, is usually not available at auto part stores. You have to go to a body shop supply store to get it. And, even then you run the risk of having a counter man who is clueless about the difference between rustproofing, and undercoating.
Rustfree, (
TP Tools & Equipment) Aerosol-Undercoating-and-Rustproofing.htmlmakes good quality products for doing this yourself. Including a kit to do the rustproofing and undercoating, with a compressed air suction gun. Be ready to do some disassembly, if you want to be sure you have gotten it all.
Rusfree's cavity wax kit, is enough to do several vehicles inner panels.
Transstar, 3m, and Eastwood all make a good aerosol rustproofing. Eastwood has a 24 inch extension nozzle available.
https://www.amazon.com/Transtar-4423-Amber-Rustproofing-oz/dp/B00H2W3YZW,
3M Rust Fighter (24oz),
Heavy-Duty Anti-Rust in Amber - Rust Proofing Products - Eastwood
The 3m product, and the Transstar product, are probably available at your local body shop supply store.