The easiest way to add more features to your Emacs is to use the command M-x list-packages. This contacts the GNU ELPA (“Emacs Lisp Package Archive”) server and fetches the list of additional packages that it offers. These are GNU packages that are available for use with Emacs, but are distributed separately from Emacs itself, for reasons of space, etc. You can browse the resulting *Packages* buffer to see what is available, and then Emacs can automatically download and install the packages that you select. See Packages in The GNU Emacs Manual.
There are other, non-GNU, Emacs Lisp package servers, including:
Marmalade. To use additional
package servers, customize the
package-archives variable. Be
aware that installing a package can run arbitrary code, so only add
sources that you trust.
The GNU Emacs sources mailing list, which is gatewayed to the Emacs sources newsgroup (although the connection between the two can be unreliable) is an official place where people can post or announce their extensions to Emacs.
The Emacs Wiki contains pointers to some additional extensions. WikEmacs is an alternative wiki for Emacs.
The Emacs Lisp List (ELL), has pointers to many Emacs Lisp files, but at time of writing it is no longer being updated.
It is impossible for us to list here all the sites that offer Emacs Lisp packages. If you are interested in a specific feature, then after checking Emacs itself and GNU ELPA, a web search is often the best way to find results.