-I'm in the middle of my codebase and trying to remember the exact parameter order of an outlandish matplotlib method or whether some of the numpy slicing magic I'm using does what I think it does. I can either open up my browser, look it up and have it explained in terse documentation prose so I have to read it three times over and still not be sure when I switch back to my editor, or I can check right here right now by running the snippet and see the output or error message.
-I'm testing a snippet that makes extensive use of all libraries mentioned in my original comment plus some custom ones I wrote and I don't want to waste time polluting my IPython history with import statements. No, %paste won't cut it either, whether it works (or doesn't) has always been too nondeterministic to my tastes.
-Some things I write are quick and one-use only and depend on specific (non-absolute) file paths, typically to load some data. As surprising as it sounds, 'open in a new terminal' that correctly guesses the current directory is lacking in almost all desktop environments and contexts.
-I work with multiple languages, plus some people send me snippets in their own. Instead of opening a different terminal for each interpeter I just highlight the thing to run, it correctly guesses the language and runs it for me.
-I often have multiple terminals open for sessions related to different projects and sometimes it's hard to remember which one is related to which. Linking each repl to each codebase by seamless integration is easier.
But yes, it would be much better, as the terminal can better handle printing thousands of lines of output.