I prefer cards that give you 'goods back'. In other words, a card affiliated with a supermarket that lets you trade points for groceries. From my experience, these are better than either cash back cards or air mile cards. Here's why:
Airmile cards obviously have limited use. They are also well known to be almost impossible to determine the value of the points. A flight may cost $500 on one airline and $100 on another airline. What is the flight worth? Other than the sign up bonus that might get you a flight, ongoing use of them has limited value that you can't even calculate.
Cash cards are easy to determine value for and of course cash can be used for anything. If 1000 points gets you $1, that's it. However, how many points you get per $1 spent is what you then have to pay attention to and what % of $1 spent that translates to you getting back. This is where they are not as good as 'goods back' cards.
Our supermarket affiliated Master card pays 2% on all purchases in the supermarket chain plus on their gas pumps. It also pays 1% on all other purchases made anywhere using the card. Besides the 2% on gasoline at their pumps, they also reduce the pump price by 4 cents. A kind of double dipping at the pumps.
I do not know of any cash back card that can meet those 2% + 1% returns on spending. Some may think that you are limited to then spending on groceries. That is true however it is right pocket vs. left pocket you have to consider. If you get $500 off groceries you buy then that is $500 in your bank account that is still there to spend on anything you want. Since groceries are something you always have to buy, there is no problem spending the points at any time which means they are totally redeemable at any time unlike airmiles and equal to cash back.
If you think about it, to give you $1 cash back costs the card provider $1. If a supermarket card gives you $2 in groceries it does not cost them $2 to buy those groceries. Therefore it is obvious that they can give you a better deal than a cash back card provider can. In fact, giving you $2 or even $4 will cost them less than $1.
Not all are created equal obviously. I checked a new card being offered recently by a competing supermarket chain and compared it to our existing card. Instead of 2% +1%, all they were offering was .047% and only on instore purchases. So don't get fooled by the 1000 points for every $1 spent or 50,000 point sign up bonus. The question is how much money will it put in your pocket per year.
Credit card churning by the way (sign up for bonus, take advantage and then stop using and go on to sign up for another card) will negatively affect your credit score.