Really only because the Codex article on `esc_js` recommends using it only for inline JS (within attributes), and json_encode for other purposes http://codex.wordpress.org/Function_Reference/esc_js

The encoding is necessary once again because the localised version of the string could be anything... a result of listening to Otto's talk at #wceu :)