I read recently a study of several common cards and Discover came out on top for the highest rewards for the average user. And since it is cash, you can do whatever you want instead of being locked into a discount for an item you might not want by the time you have enough rewards to get it. But of course Discover has problems - most specifically that it isn't accepted everywhere. And in some particular cases you may get more back with another card.
Other cards often advertise higher rewards, but have so many restrictions that most people end up better off with discover. For example, I just got a 5% cash back ad in the mail - it was 0.75% cash back for purchases below $20000, 5% cash back from $20000-$25000, and nothing back for purchases beyond that.
People here seem to love Amex Blue. I haven't looked into it myself.