Double hashing is a collision resolution technique in hash tables that uses two hash functions to compute an offset for probing, minimizing clustering and improving performance. It is highly effective when the second hash function is carefully chosen to ensure the entire table is probed, thus reducing the likelihood of collisions and improving distribution.