The only sure way that I know to keep a mask from fogging is to blow a big hocker into it and rub it around. Then put it on without rinsing it. Works for me every time.
Man... no rinse after a big hocker?
No matter what product I use (SeaDrops, "Spit" (yes, it's a defog brand), toothpaste or saliva), it gets a quick rinse -- otherwise the vision is rather distorted.
One thing to keep in mind is that the initial toothpaste scrub is essential to get the
manufacturing by-product off the lens. This film is not put there for any reason -- it just ends up as the silicone of the skirt cures.
The easiest way to do this is to put a bit of toothpaste in the mask (just a dab -- enough to spread around, but not so much that there's more than a thin layer), then sit in front of the TV, massaging it into the lens with one thumb (holding the mask with the other hand) until your thumb's sore. Switch hands. Once the second thumb is sore, rinse out the mask, and repeat.
After this, make sure you defog using some method already mentioned and see if it still fogs. If it does, you can consider trying toothpaste as your defog product before each dive for a little while. You don't want to do this too many times, otherwise you'll get crusty toothpaste in the corners of your mask... but sometimes the mask film is just a little too stubborn and this will help that issue.
As for products to use: I like the "Spit" brand -- it's thick (a little too thick -- I add a couple drops of tropical-smelling liquor like Malibu rum to thin it) -- a defog treatment of this will last as many mask clears as I've ever had to demonstrate for students on a dive. SeaDrops are good, but don't last as long as "Spit" or SeaGold (SeaGold is a little more goopy than SeaDrops, but made by the same manufacturer). Baby shampoo works -- many dilute it 50/50 with water and put in a spray bottle. Personally, I have troubles with the scent of baby shampoo.
Basically, once the initial toothpaste treatment is done, you can use any product that will reduce the surface tension of the lens so that water won't form fog.