userChrome.js is an extension, available for most Mozilla products, which can facilitate the rapid development of extensions and allow for chrome customization without an extension. It's a personal favorite of mine and a must have for any extension author.

While some of these snippets may work in semi-current releases of Firefox (1.5+), they can easily break with even the smallest of code changes (primarily those using a <functionName>.toString().replace()) or by conflicts with another extension. The XUL document and version(s) of Firefox used (as I remember it) is noted next to the snippet. Most may only be useful as examples.

Note: userChrome.js 0.8+ runs on every window, not just browser windows.

To limit execution to the browser, enclose the code in:

if (location == 'chrome://browser/content/browser.xul') {
  // code
}

Or use deathburger's fancy subscript loader.

Notable snippets:

userScripts.uc.js (browser.xul: 2.0, 3.0):
My favorite of the bunch, a Greasemonkey lite.
 
Some Greasemonkey scripts may work, but anything utilizing the builtin GM_* functions will not. Unlike Greasemonkey, userScripts are appended to the HTML document and the code is executed in that context. Script headers are similar to Greasemonkey, but the only directives needed are one of @include, @exclude, @rinclude, and @rexclude. The latter are regex-based alternatives. Other directives like @name and @namespace can be included, but they will be ignored:
// ==UserScript==
// @rinclude      bioware\.com\/
// @rexclude      \/nwn\.bioware\.com\/
// ==/UserScript==

function doBlur(event)
{
  this.blur();
  this.removeEventListener('focus', doBlur, false);
}

if (document.community_login)
  document.community_login.username.addEventListener('focus', doBlur, false);
This would cause the script to be executed on any Bioware domain, except for pages on their Neverwinter Nights site.
 
Script filenames should end with .user.js and be placed in <profile>/userscripts (created on first run).
dataSync.uc.js v0.6.7 (browser.xul: 3.0):
Synchronize bookmarks, cookies, and permissions to a remote server (of your choosing). An application must be setup on the remote server to handle the POSTing of XML data. A PHP example is included.
 
Note: Deprecated in favor of the Data Sync extension.
pluginManager.uc.js (browser.xul: 3.0):
Similar to my Plugin Manager extension, this creates a Tools menu to quickly enable or disable plugins. The code is pretty much the same as the Plugins Toggler extension by Trinh Nguyen, which utilizes a toolbar icon instead. Firefox 3.0+ required.
 
Note: Deprecated in favor of version 0.9 of the Plugin Manager extension.
pluginManager_mb.uc.js (browser.xul: 3.0):
An addon for version 0.9 of the Plugin Manager extension that puts a checkbox on the browser's menubar for a specified plugin (defaults to Flash).
dmHandler.uc.js (browser.xul: 2.0, 3.0):
Send links to an external download manager with a control+click, with the exception of viewing .nfo and .txt files in a popup window. This uses my perl+curses wget front end, but anything that can take a URL on the command line should work fine.
focusLastSelectedTab.uc.js (browser.xul: 2.0, 3.0):
Focus the last selected tab when closing. This is the core for (the new version of) my extension of the same name.
Remember download manager position (downloads.xul: 2.0, 3.0):
Remember the download manager's position.
Open tab right (browser.xul: 2.0):
Open new tabs to the right of the current. This is the core for my extension of the same name, works in 2.0+.
Target killer (browser.xul: 3.0):
Disables all link targets without a matching named window. There are a few similar Greasemonkey scripts, but window.name is not accessible cross-domain when running from content.
Target remover (browser.xul: 2.0):
Remove select target attributes from links as you click on them (rather than processing the entire document on load).

And the rest:

Add support for target=_tab (browser.xul: 2.0):
Probably not very useful, target=_tab is infrequenly used and not a w3c recommendation.
Alt+1/2 to cycle back/forward through tabs (browser.xul: 2.0):
An IRC request to make alt+1 cycle back and alt+2 cycle forward through tabs.
Close window when closing the last tab (browser.xul: 1.5):
An IRC request to close the browser window when the last tab closes.
Control+click for popups (browser.xul: 2.0):
My failed attempt to implement a similar feature found in Internet Explorer. It works, but affects link targetting.
Control+W key disabler (browser.xul: 2.0):
An IRC request to disable the control+w shortcut when browser.controlwkey.enabled is false.
Disable double click on tabbar (browser.xul: 2.0, 3.0):
Disable creation of new tabs with a double click on the tabbar.
Disable onclick handlers (browser.xul: 2.0):
Following my failed control+click for popups is my failed attempt to disable many avenues of unwanted popups. Eventually scaled back to link clicks, window, document, and document.body, as it was just too troublesome (even on the small subset of sites I visit).
Disable page style by default (browser.xul: 2.0):
An IRC request to disable page styles (View -> Page Style -> No Style) by default.
Disable space bar scrolling (browser.xul: 2.0):
An IRC request to disable page scrolling with the space bar.
(Re)enable throbber URL (browser.xul: 2.0):
An IRC request to reenable the throbber URL (loading browser.throbber.url), undoing bug 329601.
Findbar on top (browser.xul: 1.5):
Move the findbar to the top of the browser.
Hide everything in fullscreen (browser.xul: 2.0):
An IRC request to hide everything (nav, tabbar) in fullscreen mode.
Hide findbar on mousemove (browser.xul: 3.0b2pre):
When the (quick) find bar closes, the last selected element (link, document, etc) is focused which is accompanied by a raise (bug 332990). Many (most?) window managers on unix-like systems see the raise and refocus the browser window, which can result in focus stealing.
 
This script will close the findbar if the mouse pointer reaches the edge of the content area or moves out of an HTML document. mousemove didn't always fire if the pointer was moving quickly, extending the edge and doubling up with mouseout seemed to help, but that still leaves other unhandled cases such as the window losing focus with an alt+tab, moving the mouse (focus follows), or clicking to focus another window.
 
The first time through the bug I completely missed the mention of mozilla.widget.raise-on-setfocus, which seems ideal.
Relocate recently closed tabs (browser.xul: 2.0):
An IRC request to relocate the Recently Closed Tabs menuitem from History to Tools.
Toggle cookies (browser.xul: 2.0):
An IRC request to add a cookies toggle menuitem to the Tools menu.
Throbber as Go button (browser.xul: 1.5):
An IRC request to turn the throbber into the go button, loading the contents of the urlbar.
BugMeNot context menuitem (browser.xul: 2.0):
An IRC request that loads the BugMeNot info for the current page in a new tab (or some such).
userContent.js (browser.xul: 2.0):
A pre-cursor to my userScripts.js snippet, appending the contents of userContent.js to the page.

Related: userChrome.js on mozillaZine's wiki, forum #1 & #2.