Right before Christmas, I went with a couple of friends to Puerto Vallarta, Mexico for a week to stay in a beautiful luxury hotel on the beach. The most basic room at this hotel is $700+ a night, but for us, it was free using points I saved up on one of my credit cards.
If you already have an affiliation with an airline or hotel program, it might be a no-brainer to get a credit card associated with your program. Fly United? A United credit will get you more miles. Stay at a Marriott? Marriott has a good card.