The reason this works is two-fold. First, most cards have a processing fee, which is very small, to the point that most stores wont charge you the difference between the card and cash. The bank makes a small amount of that fee as profit, but its flat, so the more people use their cards, the better. Second, most people hold a certain amount of debt on their cards and pay interest, which is basically free money for the bank. The more people have of debt, the more the bank gets. So 5% weighed against their big source of income, debt, and their small source of card-only income, fees, is basically nothing.