For some kinds of plugins, knowing which commands are being invoked by the user are critical.
E.g., a panel plugin can watch the scenegraph changes (though not entirely reliably), but would have to “guess” what certain changes “mean”. E.g., is a newly-created object the result of pasting or creating anew?
If a plugin could be fed all the commands the user is invoking (whether by menu or keyboard), it could much more reliably and usefully track changes to the scenegraph.