Emacs is a necessity for me.
For editing local and remote (via tramp) files.
Run simple shells, compile, grep, diff, clean directories. All within emacs.
Long time Emacs user here. Can you expand on "clean directories" please? Parent posters have mentioned Tramp, the ability to (nearly) seamlessly edit files on remote system. This is a wonderful feature, along with ediff, for merging updates on my development system (i.e. my laptop) with my deployed code on my remote VPS.