GNOME Shell extensions are small snippets that expand the functionality and features of GNOME Shell. These snippets are written in JavaScript and CSS.
GNOME Shell extensions simply load arbitrary JavaScript and CSS. This gives developers a way to make many kinds of changes and share those changes with others, without having to patch the original source code and recompile it, and somehow distribute the patched code.
Available Extensions
There is a large collection of extensions at the GNOME Shell Extensions repository website. If you have a recent version of GNOME Shell (3.2), you should just be able to flip the switch on a compatible extension's page to turn it on.
For more information on installing and managing installed extensions, see this question: How do I install and manage GNOME Shell extensions?