The main difference is the ability to interact with objects in the scope of the breakpoint. The console is always in window scope and I want to interact with local variables within a certain function.
If I don't misunderstand you, you can do this in Firebug. Open one of the scripts in the Script panel, click on the left hand side of any row to set a breakpoint. Execution will break there, and you can inspect the call stack, local scope and everything.