Callback problems: inversion of control
It's the part of the code that manages my callback that is in control of when and how to execute the second part of my program.
Second part meaning for example when the response comes back.
Or how many times your callback is called. You expect 1, but can be 0 or 2 or more. This can lead to disaster such as the checkout example.