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 Emacs Lisp package archives. To use additional
archives, you can customize the
Those archives have no affiliation with GNU Emacs, and we do not
monitor how they are maintained. They may pay close attention to
correctness and safety of the code, or they may give only cursory
Also, packages hosted on these other archives may encourage or require you to install and use other nonfree programs. Unless you can verify that a package is free software, and that it functions without installing any nonfree software, we recommend for your freedom’s sake that you stay away from it.
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.