One of the keys to free items is not letting the rewards program influence your purchases. You don't want to buy something you don't need or pay too much for a product you that you do need. For instance, I'm indifferent between Coke and Pepsi products, but I wouldn't pay more for Coke products to get the MCR points. They just aren't worth enough.
So when I look at Kellogg's rewards, I throw up in my mouth a little. The prizes are simply ridiculous. For instance, a $5 Starbucks gift card is 6,600 points. A box of cereal is worth 100 points, so you'd need 66 boxes of cereal to get $5. And while I have two kids who go through cereal at a rapid rate, they like their Cheerios. No way I'm switching to Kellogg's just for a few points. I'll take the free points as they come, but won't be buying cereal around the points.
The bottom line is that these programs aren't really loyalty programs that reward you for past decisions. They are set up to influence future purchases. Of course, calling them a "futures program" doesn't sound as magnanimous as "thanking you" for past purchases. Just don't let them fool you.