Your first point is right, but I disagree with the second one. Credit card rewards are "free" if you are good at managing your credit and don't pay interest on your card. I have a credit card that gives me substantial cash back on restaurants and travel with no annual fee. I've yet to be charged by the bank for anything (checking fees, ATM withdrawal fees, interest on my balance, etc.).