Because many of us North Americans have "Moneyback" or "AirMiles" deals on our credit cards. After I've spent the first $1,000 each year on Visa, I get 1% back from them on everything thereafter. On the other hand, my Mastercard gives me 1 Airmile (real air miles, i.e. one hundred airmiles means you get a one hundred mile round trip ticket) for every $15 spent on the card. I've taken the whole family to Cuba twice on this deal in the last few years.
Plus, if I buy something on the 25th of December, I get the bill January 22nd and it's not due until February 14th.