I would question the benefit in the long run.
Every time you open a charge card just to get the % off, it goes on your credit score and if you are considering a big purchase any time soon it may not be to your advantage to have so much "credit" out there.
This is true if people are opening many accounts for a one time discount then closing the accounts or never using them again. Opening one new card and keeping it wont mess up your credit.