Hazard Pointers

In a lock-free data structure, what problem do hazard pointers solve?