EmacsLisp is a surprisingly powerful, rich dialect of Lisp. It can be used to do many things, making it practically a general use application language, and not just a language for extending Emacs.

However, you will run into certain immovable walls the further you go:

Update: There’s a draft for threads in Emacs Lisp [1]

See also WhyDoesElispSuck