Recs.
Updated
A robust text editor capable of achieving whatever it is the writer wishes. It supports a plethora of programming languages and other faculties of text editing. Yet its advantages do not stop there. If one wishes to delve into the wizardry of Emacs, they can use it for email, web browsing, organizing ones life and so much more. With all these factors pertaining to the sovereignty of Emacs, only one question remains. What is stopping you from beholding its power?
SpecsUpdate
Pros
Pro Total customizability
Customizations can be made to a wide range of Emacs' functions through a Lisp dialect (Emacs Lisp). 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).
Cons
Con Takes a lot of effort to configure to fit your needs
It definitely can be configured (and even programmed) according to anyone's habits, needs and preferences. For example, imagine a text editor which can handle typesetting and displaying English, Russian, Japanese and Sanskrit text, supporting LaTeX publishing workflow, Common Lisp development workflow, Javascript development workflow, writing down thoughts and to-do tasks and also having a full-featured command line.
But you will have to configure/program it, and it'll in no way be either fast or pleasurable.
Con User interface is terrible
In fairness to Emacs, its original design was conceived in the context of the early 1980's, before there were GUIs, and it's rather good at some things, like flexible ability to bind commands to keyboard shortcuts. Unfortunately, it didn't keep up with the times and fails to take advantage of the entire world of GUI design that's revolutionized computer science since then. So Emacs does 5% or what an editor should do quite well, and is surprisingly under-powered and old fashioned at the other 95%. To this day, it lacks or struggles with very basic things, like interactive dialogs, toolbars, tabbed interface, file system navigation, etc., etc. These things are all present in some limited and inept form, but falls far short of current standard of good user interface design. For this reason, Emacs is not recommended to anyone who is under 50 year old, or who needs power user capabilities. For casual, unsophisticated applications by someone who grew up with green screen character based computers, it's probably OK.