Fabric protectors like **Scotchguard are a very good way to protect your fabrics and help keep them clean. Fabric protection is often sold as an impervious, fool proof, protective coating rendering your fabric unstainable. This is not and has never been the case. The barrier once cured still has to allow the fabric to “breathe.” This means eventually, if left long enough even cold water will pass through the barrier.
Unfortunately, many people have been tricked or at best accidentally misinformed about what fabric protection will and won’t do. This has led to a false expectation of the product and therefore eventual disenchantment.
Fabric protectors do provide a valuable layer of protection which will give you more time to react to a spill and help you keep your carpets and fabrics cleaner for longer. They do wear out so need to be re-applied, the frequency will depend on the use the item receives.