When conventional debugging via the serial monitor isn't feasible.
When the data is too fast for the serial monitor.
When oscilloscope functionality is required.
It is not always possible to debug Arduino programs by the serial monitor, as this disrupts the progress of the program. That's why I developed the Fast Oscilloscope, it has helped me with a lot with complex projects.
See the website: http://www.avdweb.nl/arduino/libraries/oscilloscope.html