Without a doubt, one of the best features that Firefox utilizes is the ability to use extensions. Because the extension system is completely open to developers, there are literally hundreds of various extensions that serve just about any purpose under the sun. I've re-examined the extensions I've been using, and gone through the Mozilla Add-On Database to find any new extensions that might be useful. After careful contemplation, I've come up with my list of must-have Firefox extensions, listed below.
Editor's Note (2 August 2006): After spending about a month using all the extensions listed below, I have actually modified the list. If you visited this article earlier, you will notice that I've actually removed some extensions because I felt they were not beneficial enough to keep (Image Zoom, My Portal, PDF Download, Reveal, and View Source Chart).
If you want your webpages to load quicker, have fewer ads, and be overall less annoying, then you should look into Adblock Plus. If you ever see an ad that you don't want to see again, just right click it, then click on 'Adblock Image...' and Firefox will do the rest. It saves you time because your pages will load quicker. The 'Adblock FilterSet.G Updater' updates Adblock's list of banned images so you effectively don't have to do any work to start adblocking right away.
Occasionally, it is necessary to create, modify, or delete cookies for a specific webpage. Perhaps you're debugging a cookie problem, or trying to better understand how cookies work. Regardless of the reason, this extension allows you to make cookies work for you.
Gestures are mouse clicks that perform functions. If you get used to even a few gestures, I promise you won't be able to surf without them ever again. They speed up how quickly you go through a webpage, and how efficient you are. This was popularized by Opera, and now adopted through this extension into Firefox.
Yet another Opera extension; the sidebar allows you to easily access your cache, bookmarks, downloads, extensions, themes, and javascript console without leaving the current webpage. It does take up some space on the screen, but it makes up for it by allowing you to stay on the webpage you're viewing, rather than putting windows on top of your current webpage. At the very least, you should try this extension for a day -- I promise you'll get hooked.
Customize Google is an extension that adds desired information (like information from other search engines regarding your query) and removes unwanted information (like ads). Once you've configured it to your liking, it gets out of your way and makes your googling experience go smoother.
I haven't decided if Fasterfox is actually beneficial to Firefox's performance, but for right now, I'll assume it is beneficial and makes load times of webpages improve -- which translates to you getting your webpage quicker.
Firebug is a webpage development utility that really lets you get into the DOM of a webpage and examine things. It also comes equipped with a javascript console so you don't have to ever type "javascript:" in the location bar ever again.
It seems like a no-brainer that if you're going to spend time figuring out your optimal set of extensions, perhaps you should backup things in case you change computers or your computer crashes.
This extension is more eye candy than anything. When you do a google search, a small thumbnail image of the webpage will show up next to the link. Normally I wouldn't endorse something that hogs up memory, but I found that it didn't slow down the load time of a query much at all.
MeasureIt is an absolutely essential extension for webpage development. All you have to do is click the measurement tool in the bottom left corner, then drag the desired length on a webpage. A ruler will popup and display a length in pixels.
Firefox, by default, comes with some search engines that I don't ever use. To shorten the list, this extension allows you to delete any search engines you don't want.
Because I'm nosy, I like to know what server some webpages are running (as defined by the HTTP header). It's a small, neat little extension that stays out of your way, but is available if you need it. Although it is a technical and irrelevant thing for most users, I still just like the idea of getting more information about the page I'm viewing.
If you've ever felt that Firefox lacks in options for the tab environment, I promise you won't ever think that again after using this extension. It allows you to configure everything under the sun with respect to tabs.
Plain and simple, this extension allows you to modify form data before it is sent. It's great for testing security, or tweaking a web form. This extension is also a wonderful developer tool to better understand the HTTP POST variables, and edit them accordinly for debugging purposes.