You need to spend money to earn cash back, so it’s not really free money. Credit card companies that run cash back programs do so to incentivize people to use their credit cards. The money you stand to earn as cash back is simply a portion of the merchant fees that your card provider charges.