I don't think there is necessarily one card that is the best for everyone. It depends on your spending patterns and what types of rewards are most valuable to you.
Many people around her love their cards that earn them airline miles. Personally, we fly very infrequently so that would not appeal to us. Others like cards that give them cashback. While that's great, I find that I just don't feel I've gotten something free that way. The money just goes into the bank account and doesn't seem special somehow.
We use two reward cards. An AOL Visa and a Marriott Visa. With the AOL card, we earn points toward our AOL bill. As a result, we have not paid a penny for AOL service for 7 or 8 years since we got the card.
With the Marriott card, we earn points toward hotel stays. What I like about that is that the points earned with the CC get combined with the points earned by staying at Marriott properties. We travel pretty often so those points add up quickly. At the moment, we've got about 80,000 points which can get us up to 14 free nites. And we've redeemed points several times during the 2-3 years we've had the card.
So find a card that has a reward that you value. Check the way points accumulate and be sure it won't take forever to actually get anything. If there is an annual fee, don't automatically skip that card. I pay $30/year for our Marriott card but earn about 5 free nites per year so I think that $30 is a good deal.
Sorry this was so long. I just don't think there is one BEST card out there.