Keep in mind that these are two different products and serve two distinctly different functions.
Undercoating is primarily a sound deadener. It can actually crack and allow water to get between itself and the metal underneath, INCREASING the probability of rust damamge.
Rustproofing is the stuff you want for metal protection. Any that I have seen is a waxy substance in a solvent carrier. It's thin enough to penetrate into seams when applied and then dries to a slightly tacky, flexible coating.
There is a spray gun kit available from The Eastwood Company www.eastwoodco.com (I think) that works well for applying it yourself. A similar kit is available from J. C. Whitney as well. Both kits have an assortment of extension tubes and nozzles to let you get into and around corners and blind areas. Both are under $50. Both companies have the rustproofing material for sale as well. I use an Eastwood gun with a product I buy locally called RusFree. It comes by the gallon and in two colors, a translucent beige and a solid black. Cost is the same for either color, $20+ per gallon. I use black on frames and under bodies where it looks "right" and the clear under the hood and where it will show on a colored surface.
By the way your question is worded, I'm assuming you're thinking of applying rustproofing yourself?
I get mine done where my oil change/service is performed, that way the mess is in THEIR shop!
Don't know if brand names etc are the same on your side of the border, I believe the stuff they use is called Durashield. Sounds very similar to the RusFree stuff Alan - translucent beige in colour. Seems to do a good job, the way vehicles are designed I don't think you'll ever prevent rust 100%, especially on trucks that plow, but it helps slow it down!
You will never protect all the areas that need to be protected, IMO.
I need to replace the pass. side valve cover in my 95 Dodge Ram as it is leaking due to rust perforation. It is temporarily repaired with duct tape. Two years ago a trans cooler line started leaking once again due to rust thru. One of the drawbacks of a tight leak-free engine
I'm with OBRYANMAINT, I use Bar and Chain oil, the stuff you put in your chainsaw. Agway 30 weight seems to be the best. It is a little messy, but travels and gets into all the little seams. After the first couple of coatings I usually only have to do touch ups before winter, mostly around the wheel wells. I can't think of using anything else on my 76 K10 which is originally from AZ and now in VT.
Also try and limit the areas where moisture gets trapped. I removed sheetmetal right behind the rear wheels on my truck. It's factory reinforcement, but a rust area. I made my own reinforcement which incorporates a mudflap which kepts stuff from hitting the bottom of the bed and packing in there. I looked at the new Chevy's a couple of years ago and they still make the rear bed area the same, so it fails. I like the Dodge plastic wheel wells, now there is protection.
Also drilled some holes in the rear of the rockers and filled with oil, then plugged with plastic plugs from an Automotive paint supplier.
A friend of mine has a 1977 Red Chevy C2500 that he has had oil sprayed since it was new.
He has plowed snow with it for the last 20 years. It looks likes it's been restored but it is original shape. He has an auto repair shop so mechanical repairs are not a problem for him.It's also Non - GM diesel powered. Used motor oil creeps into everything, just get it on your hands and watch it spread into every crevice.