I've used it for years. There might be "better" stuff on the market, but I've got WD-40 at the house. The "better" stuff is at the store.
If you spay it on your guns, handsaws, drill bits, tools, etc., and just forget it, they will rust. It evaporates. If you sprayed them with something else and forgot them, they'd probably rust too, but it might take longer. You're not supposed to just "forget" stuff. Look at it once in a while.
You'll hear that WD-40 will kill primers. It will. So will Breakfree, 3 in 1 oil, carb cleaner or most anything else if you spray your ammo with it. The cure is DON'T SPRAY YOUR AMMO. What in the devil are you doing cleaing a loaded gun anyway? Take the ammo out.
You'll hear that WD-40 will collect dust and gum up your guns. It will. If you just spray it on and leave it on there. So will most anything else you just spray on and leave there. You're supposed to wipe it off. Buy a rag, find an old T-Shirt, get some paper towels for goodness sake. This isn't rocket science.
WD-40 is not evil incarnate. It's not the best product in the world. It's a pretty good, solvent, light oil, water displacement agent, squeek stopper, and who knows what else. And you've got a dozen cans around the house somewhere I'll bet (Is a can of WD-40 ever really empty?). That other stuff is still at the store.
Oh, it's cheap too.