We use a Bank of America Travel Rewards Cash Back card and pay it off as soon as we charge to it and let the point build up. Points vary depending on the type of purchase and you can use the points as a statement credit to pay towards any balance before paying it off.
2500 point gets a $ 25.00 statement credit.
As an example, I just booked a slip at Scrub island for $ 240.50 and I got 396.97 points for it. Basically for every $ 1500.00 spent you get $ 25.00 to use as a statement credit. Not the best return by any means but it is better than a fish hook in your foot for sure.