Every retailer these days seems to be offering some form of loyalty program. The question is, what do you get for your loyalty. What the retailer gets out of it is detailed purchase tracking of it's customers which it can use to optimize its' pricing.
First off, if a business offers great service, I will return, loyalty program or not. I think you should too.
There are two common ways loyalty programs operate, one is to offer a % discount, the other is to offer points. You need to be careful when dealing with points. I feel points are used to hide things, and make numbers look bigger and thus imply better. Points make it very hard to convert to dollar value, because of this we then just look at the number of points. Microsoft did this with Xbox Live. I can't remember exactly what the point conversion was but it was not one to one, 200 points might have cost $3. The conversion was not a nice round number easy to do in your head. I beleive this is on purpose, as they do not want people saying to themselves, "$2 for a hat for my avatar, are you nuts", but "hey 95 points I'll buy that!". Microsoft contended that this was to save on micro transaction fees with credit card companies, but if that was the case, they could have made it 1 point = 1 dollar. The only explanation I would buy would be related to currency conversion. If the points in the store were global, then they could just set the dollar value per point on a country by country basis to cover the currency conversion.
So, lets look at a gas station loyalty program. Petro Canada has it's Petro Points loyalty card. The headline is "Save 5 Cents a Litre". Hey great where to I sign up? Then the small print "On the next 200L". Okay maybe that is still not so bad, that is $10 savings. So next step, how may points to get the reward? 12,000. How many points do I earn buying gas? 5 points per litre of regular gas. Ok, so to get 12,000 points I need to buy 2400 litres. Gas price today? $1.30 per litre. Ok so to get 12,000 points I need to spend 2400 * 1.30 = $3,120. Ok, so I spend $3120 and I get $10 back?? A whopping 0.32%. My AMEX card gets me 3% cash back on purchases. Petro Points? Useless. Also note, as gas price goes up, the value of a point goes down. Petro Canada offers more points for convenience store items, but those are marked up higher than other stores. You are better at buying those items elsewhere.
My personal rule of thumbs is that % based loyalty programs work out better. Points are just an attempt to make lame rewards look better.
With credits card programs you have to take into account annual fees. Cards with annual fees will often have higher rewards, but if you do spend enough on them you won't get any value out of them.
Remember the goal of rewards is to save money, not spend money. If you are making the transaction to get the points, you are getting the short end of the stick.
There is a bit of an arms war going on with the credit card rewards programs, and the merchants are the losers in this battle. Traditionally credit card companies withheld 2% when paying out to the merchant, AMEX has always been higher at closer to 5%. This is why AMEX is not accepted in as many places. Rewards programs came along and card companies started offering up to 1% back. The net effect was to split the merchant card fee between the bank and the customer. You spend $100 at the retailer, the retailer gets $98, the bank keeps $2 and from that gives $1 to you. As banks competed for customers, they want to push those cash back numbers higher, but they don't want to take that from their bottom line, so they increased the hold-back to the retailer. Now, one would imagine that the retailer would just stop accepting the cards, just like they don't accept AMEX. The banks however, stipulate that the retailer must accept all cards or none. For example, if the retailer takes VISA then they have to take the high fee VISA cards as well.
Those are just a few things to keep in mind when you go spending your hard earned money.