For family vacations I/we like to prepay for the hotels/car/air so that by the time the vacation comes around it is all paid for and we don't get hit with an already very large bill+food, drink & activities.
For work travel I like having everything come after so I can submit for reimbursement.
Most chains/hotels.com (good reward program for when not going for elite status) typically have a prepay nonrefundable rate for rooms that offer a discount.