but lottery tickets they can give million without necessarily having to pay anything to users, as only few people win the final prize.
This isn't true. The more tickets, the bigger prize pool.
So, with giving users free lottery tickets, they increase the value of prizes and it's not that they don't pay anything for free lottery tickets.
1 RP prize = 1 satoshi;
1 satoshi prize = 1 satoshi (only if user is able to accumulate 100,000 RP balance);
1 lottery ticket prize = 0,12066 satoshi (77,567,869 lottery tickets equals to 0,09359515
BTC prize pool for 10 winners).
Proportionally it's more expensive for the site to reward users with satoshis prizes, next it comes RPs and in last place it comes lottery tickets.