Recs.
Updated
The Emacs manual describes Emacs as "the extensible, customizable, self-documenting real-time display editor".
It includes a file manager as well as a number of useful utilities such as a function to find the difference between two files. An embedded shell can be used interactively or for calling external utilities in the editor environment (like grep, diff, gcc etc.)
SpecsUpdate
Pros
Pro Total customizability
Customizations can be made to a wide range of Emacs' functions through a Lisp dialect. A robust list of existing Lisp extensions include the practical (git integration, syntax highlighting, etc) to the utilitarian (calculators, calendars) to the sublime (chess, Eliza).
Pro Self documenting
Emacs has extensive help support built-in as well as a tutorial accessed with C-h t.
Pro Delegates transparently to external tools
Many features in Emacs are implemented by running other tools and integrating the output into the Emacs UX — be it the interactive Python/Scheme shell for completion and code information, compilation with error highlighting in source files via flycheck or quick ripgrep calls for efficient in-project search and navigation (via dumbjump this even provides jumping around between source files, using one several supported source code search tools, including ripgrep, but also the silver surfer).
All this is transparent on two levels: In the UI (it integrates nicely into the UI to it does not feel like calling an external tool — in contrast to just running the tool in the shell) and staying close to the real tools (you can always go down and just run the tools yourself — in contrast to typical native configuration of IDEs where many people don’t know what happens in the background).
Here Emacs adheres closely to the Unix philosophy: It does one thing and does it well, and that’s providing a unified interface to many different tools.
Pro Stood the test of time and continues to go strong
Emacs has been in continuous development and use for over 30 years, and it is still moving forward. Emacs is available on every platform and will likely stay available and competitive for the next 30 years. If you need an editor for a lifetime, it is a good bet: the skills you learn will stay useful wherever you go.
Pro Slowness in starting up can be worked around with daemon mode
It is possible to start Emacs in daemon mode and open files in client processes ('(server-start)' and emacsclient). This eliminates initialisation of later editing sessions, and thus the slowness argument. Emacs in daemon mode can even replace tmux or screen, since you can start terminal sessions within Emacs as well.
Cons
Con Slow start
Slow start makes it not suitable for quick edits. This can be overcome by starting Emacs in daemon mode and opening quick edits with emacsclient.