The Preferences API allows you to save and read strings, numbers, booleans, and references to files to the preferences store. It is relatively easy to use while providing a number of useful user and developer features, including support for default preferences, user overrides via user.js, and locking.
You can also create a XUL-based options window or options page to allow the user to easily modify some preferences. Many applications including Firefox and Thunderbird have an additional tool for power users, about:config, which can be used to tweak the preferences without UI.
- Code snippets: Preferences (more detailed discussion with multiple examples)