A "rain check" (or "raincheck") was originally a
voucher issued at
baseball games that were
rained out, allowing the
spectators to return to watch another game instead. Gradually, the usage spread to other types of sporting events and today it can be used about any offer that isn't taken up immediately.
For example, grocery stores in the US are required under the FTC-issued "Unavailability Rule" to offer rain checks (or some other type of compensation) to customers if they run out of an advertised product (unless it was clearly stated in the ad that quantities were limited). The rain checks will then allow the costumer to return at a later time to purchase the product at the lower price.