Yes, but - in many of those contracts (particularly end-user license agreements) you agreed to them changing the terms of the contract. You also have an “out” - not using the product any more.
You’re right though: it’s slimy. Anything slimy thing can be put into a contract!
Source: I’m not a lawyer, but worked in an office with a lot of them, and worked with software license agreements in particular.
It kinda does make it legal. If you don’t agree to the terms of the product, then you are using it illegally. It sucks, but that’s where the law is. I am typing this on a Linux laptop in Firefox, but those have terms and conditions, too!