Someone who steps through every line of code will probably take longer to find the bug, and will spin cycles on rabbit holes and false paths.
Someone who uses “runtime debugging”, or rather has a hypothesis on the bug or what a piece of code is doing and uses a debugger or print statement to verify that will find the bug much quicker.
With this mental model, you can see how print statements can be as effective as a debugger in many scenarios.