The big exception would be Southwest, where you earn a flat 600 Southwest Rapid Rewards points (worth basically $10) for every stay, no matter how many days in the stay (thus best to do it only on one-night stays), and no matter what the cost of the hotel (thus best to do it only for inexpensive hotels).