Firstly, loyalty schemes don't produce loyalty. Most people have multiple loyalty cards, and use them promiscuously. The level of reward - usually about one per cent - is pretty minimal. One special offer can save more money than the loyalty points on your entire weekly shop. So people take advantage of the schemes because they are free and painless to use. But they don't influence where people shop on any given occasion.
Consequently, the term loyalty is a really misnomer. If loyalty is what you're looking for, a loyalty scheme won't deliver that.
The main advantage of loyalty schemes to the large chains is in the data they make available. Every time you present a reward card you identify yourself personally at the checkout. This enables the company to track a huge range of data, both for individuals, and for particular demographics. Your supermarket knows how often you shop, and where. It knows your average weekly spend. It knows your family diet, what items you purchase regularly, and how often. In consumables and FMCG, this enables large companies to follow market trends very closely, react to changes quickly, and target their merchandising according to local and temporal preferences and trends.
That's great if you are a large chain with multiple branches, a website and maybe a mail order channel as well. If all you have is a website, it's pointless. You can already identify regular customers from your orders database, and mine the same kind of data directly from that.
So given that a loyalty scheme doesn't deliver loyalty, costs time and money to operate and doesn't give you anything that you don't already have - doesn't it start to look like one huge white elephant in the room?