There are generally 2 types of hotel bookings you can make :
- Pre-paid
- Guaranteed by credit card
"Pre-paid" is where you have fully paid for the hotel in advance. Your credit card has been charged, and there is nothing more to pay other than incidents (minibar, room service, etc). They will still ask for a credit card at check-in, but this is only for the incidentals.
"Guaranteed by credit card" is where you've actually paid nothing, but you have given your credit card to guarantee the room. In the event that you don't show up, they will charge a fee to your credit card to make up for the no-show. In this case the credit card you give at check-in (and/or check-out) will be used to for the room charge - regardless of what card was used to make the booking.
Where this can get confusing is that some hotels will advertise a "pre-paid" or "advance purchase" rate, but not actually charge it to your card in advance - so whilst this will appear to be a pre-paid booking, it's actually not.
As a general rule, if you book through the hotel themselves (their website, call center, etc) then they will use the card supplied at check-in. If you book through a third party website (eg, Expedia, Orbitz, etc) then you will be charged at the time you make your booking unless they explicitly say otherwise (ie, they state that you will pay at the hotel). However whilst this is a good rule of thumb, there's no guarantee that it'll actually work this way!
If you want to be sure, call the hotel and discuss it with them.