1. there are more methods (dir, group, error, etc)
2. some browsers provide console.log but not others
3. those methods most of the time are not .apply'able or .call'able. that matters when you try to output an array of items with the right firebug/devtools coloring. But you cant. You get the ["Message", "was sent", {Object}] output with the arrayish square brackets and all strings with the double quotes. If you pass values directly via console.log(type, action, object) the output will not have double quotes around each string and the "Message was sent" part will read as one sentence, not two values of one array.
4. Some combinations of firefox (i think ff4) with firebug (even disabled) raise exceptions when you attempt to redefine one of the console objects. The exception alone renders some of the sites broken.
Handling the console object is needlessly painful and hard. Someone has to stop it.
Works both on IE9 broken console.log, and regular console.log from other vendors. Same hack as using Array.prototype.slice to convert arguments into a real array.