It seems that almost every store has a reward program. In Canada, the longest running loyalty program is Canadian Tire money, started in 1957, and given when you make a cash or debit purchase at Canadian Tire. Since then most other stores have stared issuing loyalty cards that allow you to accumulate points or earn discounts on future purchases.
If you will be shopping at store XYZ anyway, then sign up for that store’s loyalty program, since it costs you nothing.
However, don’t be fooled. Don’t buy something at a store just because you want to earn points. It’s more important to shop around and get the cheapest price, than it is to buy something that you don’t neeed, just to earn points.