Not so much a Debugging Demo, more a Performance improvement idea.
Imagine you have a very costly query (joins, amount of data, whatever) and need to offer it's data in an interactive report.
Now the problem is, that with every user interaction (filter, pagination, grouping, ...) that costly query gets executed again.
APEX Collections come to the rescue: in a pre-rendering (before-header) process we create a collection based on that costly query and then base our interactive report on that collection.
Now activate debug and see for yourself. That original and costly query is executed just once on page load, everything else happening in the report gets its data from the APEX Collection.