Depends on a lot of variables. What metal, what climate, what cleaning intervals, how much you use & reapply during a session. All that being said, I'm a Weapons Shield fan mostly because i bought enough of it to last me for a few more years.
I use a syringe to apply and also use Weapon Shield oil with it (the amount depending on the season).
I think you can use just about anything as long as you clean the gun each time you use it. Not everyone cleans their guns every time.