Rainbow tables are precomputed tables used to reverse cryptographic hash functions, facilitating the cracking of password hashes by providing a time-memory trade-off. They significantly reduce the time required to crack passwords by storing hash chains, but are less effective against salted hashes which add random data to each password before hashing.