The casino itself gives you money on their website. This is possible because in order to play on a casino website you usually need to turn in money (GBP, USD, EUR) for website tokens. But instead of paying for website tokens, the casino can just give you tokens which you can use for spins.
One of the most fun things to do on an online casino is play the slots. Slot machines on online casinos are designed to be essentially identical to slot machines in real life, with the same fun themes, and the same general probability of winning a big pot.
Spins can't always be used on every single game in a casino: sometimes the spins are limited to a specific game. Other casinos let you use your spins anywhere. You do need to be careful occasionally because your "free spins" account balance is usually different from your "real money" account balance. When you play a game, you should make sure you've selected "free spins" rather than your actual account balance, or you could end up spending money for your free spin. Otherwise, free spins don't take any additional activation: they're just added to your account.
Signing up for a casino that offers regular free spins can be a way to indulge in online casinos without any significant outlay of cash. And, of course, every casino does use free spins differently, so it's a good idea to read up on the casino itself and find out how often they give out free spins, where free spins can be used, and how you'll know that you've run out of free spins. You can sign up for multiple casinos if you want and get free spins from multiple casinos at the same time, thereby making it possible to play a lot of different games without spending a cent.