Great question. The magic is in the dynamic nature of the breakpoint triggering. If you want to SSH into a CI machine you need to know ahead of time that you want to investigate that machine and pause execution while it's going.
With the debugger, you set conditional rules like - 'if this fails - then trigger debugger and hold machine' - instead of trying to catch lightning in a bottle - it waits for you.
More details and sign-up here
https://ci-debugger.io