It does introduce another name on the stack, so you can refer back to same function inside itself (useful for recursion).

The main reason is to help for debugging errors. When an error occurs deep in function calls, and all the functions are anonymous (not named), all you see if is a stack of Functions with no names. I got myself in the habit so that when there is an error (there's always errors), it's easier to find. Side: it's also a requirement for all JavaScript code that lands in Firefox proper to have all functions named, for the same reason.