My only real exposure to EMACS is GNU EMACS on LINUX RH6.1, NT, and Win95. So this information pertains to my limited knowledge of GNU EMACS.
EMACS is basically a meta-editor or a glyph based symbol processing tool.
EMACS function is defined mostly by using a dialect of LISP to program it. LISP affords a lot of power, but exacts a price in CPU and memory. LISP also depends upon garbage collection, so EMACS (when processing) heavily processing the mark and sweep garbage collection may halt you for a second or two.
EMACS use is easy enough to pick up for basic stuff, by simply going through the tutorial, C-h <wait for option request> t.
EMACS usally has support for creating and navigating file types using command sequences that alte their meaning based on file types and extensions loaded. For example based on how you configure it you may have commands for jumping to each end of a sentence in a text file or end of a statement in a Java file.
EMACS has multi-language character set support, however I am not sure to what degree.
EMACS can just be used, as is. However, you owe it to yourself to learn how to do even moderate customizations that help you work better.