I didn't like the shell either, until I realized that it's still an editable buffer.
For example, you can take the output of a command, transform the text directly using standard editing commands, fix the weird one-off cases manually, and then pass the results back to the command prompt. Or save the results to a file. Or interleave with code. (etc)
Turning the entire shell into a fully editable/scriptable/keyboard-macro-able scratchpad is a beautiful thing.