This is gonna be a long rant, so if you don't read it, I will understand--- In my opinion, some answers need explanation and reasons why - I am no expert, but just explaining what works for me from 45 years of owning vehicles in a part of Canada that can have up to 6 months of winter some years.
Rustproofing of some sort is "absolutely necessary" where I live in Atlantic Canada if you want a vehicle to last. They use lots of salt here, starting sometimes as early as late October, and sometimes as late as the end of April, and there are vehicles here 4 or 5 years old rusted through in spots such as over the rear wheel wells.
I agree with a lot of things that people have said, and if you are lucky like me to have access to a hoist whenever I want it, washing underneath your truck frequently during the winter, especially washing out the inside of the rocker panels, over the wheel wells etc. is very important, but I am convinced that "rust proofing" is worth every penny. I say rust proofing, as the term UNDERCOATING is used as a description of too many different products by different manufacturers/suppliers.
Depending on what people consider "undercoating", it can be as bad or worse than using nothing. There is a fellow I work with that bought a truck new in 2011, had it "undercoated" when new. He kept if fairly clean all the time he had it, although not to the extent that I would---people say I am a little **** when it comes to my vehicles. Two years ago, (the truck was almost 10 years old) he went for the yearly Motor Vehicle Inspection (MVI) that is required here, and the Inspection Station noticed what looked to be a small rust hole in the frame. They poked a small screwdriver in the hole on the frame of the truck, and although it looked good and still had most of the "undercoating" on it, the frame was rotted and rusted beyond repair, and to the extent that not only did they "reject" the truck for the MVI, the owner ended up selling the truck to a scrap yard for the drivetrain and interior because he wasn't going to replace the frame. The undercoating used on this truck was kind of a black, hard, dry coating, and what happened was when any cracks came in the coating it allowed water/salt to get underneath the coating, keeping the frame damp and wet all the time and the salt to have a continuous rusting action, and most of the frame was rotted.
Actual "rustproofing" (RUST CHECK is all that I use, but other people have mentioned KROWN, FLUID FILM, etc. and they are all good rustproofing) does certainly slow down, or if used properly, eliminate rusting of a vehicle - body panels, frame, etc. and in my experience, prevents a lot electrical issues like corrosion in connectors, wires corroded and loosing connection (new vehicles use very small gauge wire in the harness' and it doesn't take very much salt to corrode them)
I like RUST CHECK because it requires two different products depending on what part of the vehicle you are applying it on, unlike KROWN and FLUID FILM which uses one product for the complete vehicle. The RED can of RUST CHECK is runny and will creep in all directions, so it is used for inside panels-fenders, doors, rocker panels, box sides, tailgate, electrical connectors, etc. The GREEN can is a thicker product and used on the frame, underbody, and places that are easy to access to make sure you get complete coverage (the red runny product would wash of easier because of road spray on the underside of the vehicle, so I use the thicker RUST CHECK in these locations). Another area I do is to take the scuff plates off at each door, pull the carpet back a bit, and coat the wiring and metal in this area. This area is prone to get salt/water/dirt in it, no matter how clean you keep your vehicle, or what kind of floor liners/mats you use. If your vehicle is driven in winter and snow it is bound to get wet.
Another bonus to RUST CHECK is that it can be applied even in cooler temperatures, because the red runny stuff will still creep "uphill" in lower temps, where the other brands tend to slow the creeping effect unless it is warm out.
Also, it is, in my opinion, a really good idea a couple of times a year (I do it usually monthly as I am in the woods a lot on muddy roads), especially late in the fall if you are a woods traveler like me, to get the sand/mud out of the front and rear wheel wells, inside doors and tailgate, etc. You can spray lots of water in factory holes in the rocker panels, front fenders by opening the hood and using the access holes at the front and rear, clean in the doors and tailgate by using the holes for the latches, and if you aren't lucky like me and have a hoist that I can use anytime, then you have to either take the taillights out to clean in between the two panels over the wheel wells really good, or spray a stream of water from in front of the rear tire aiming for the rear over the wheel well, and a stream from behind the rear tire aiming towards the front.
These are all just my opinions on protecting your vehicle from the harsh winters, and all the salt and calcium chloride used on our roads.
To anyone who does get rustproofing done, or intends to get it done, in my opinion it is worth every penny, and helps immensely to protect your vehicle......and we all know they aren't cheap. Thanks for listening, and have a great day.