My theory is that breakpoints are not useful because they let you go forward. But if you have an issue somewhere where a variable is not in the right state, it's because somewhere in the past was the issue. But you can't go back with a normal debugger.
Replay allows you to go back in time which is to me the biggest breakthrough. This actually makes them useful!