As you have to play real-money poker online to earn those points the buy-ins aren't strictly free. Some freerolls carry a buy-in in 'player points', that is points earned from playing cash games and tournaments.
While freerolls can come in many flavors (new customers' exclusive tournaments, daily and weekly guaranteed tourneys, or qualifiers to live events), they're not always free, so always check the details.
The risk is minimal, they're fun to play, and with the prize money you can buy in to a bigger tournament or cash game. If you're just getting started with poker online, freerolls can be a good way of practising the games and trying out some strategy while earning cash.
Some rooms run freerolls daily or weekly and the prizepools can range from player points to a guaranteed $1,000 in cash. You'll find a good range of freeroll poker at all top sites.