Are you really comparing a bottle of shampoo to thousands of dollars in gift cards?
First of all stores such as CVS, Rite Aid, Walgreens all have freebies deals. The purpose was to make you go to the stores and maybe you'll buy something else. No store has hundred of bottles of shampoo in stock to make them lose few hundred dollars. But someone made Best Buy lose at least $600 buying $1200 worth of giftcards.