It depends, it can be useful to easily debug some flows. It’s also sometimes better for interactive applications where pausing the execution would break the interface.
A developer should use both.