Most applications on OS X store their preferences (defaults) in the User Defaults database. This database is stored on disk in each user's Library/Preferences folder as .plist files. This database is accessed by applications through either the NSUserDefaults API (Cocoa) or the CFPreferences API (Carbon). This database provides a unified way to access the preferences on a per user basis. Some applications (TinkerTool) use the defaults database to unlock hidden features in other applications (dock positioning for example).
Each application has its own unique domain (ex: com.apple.finder, com.apple.dock, net.kuwan.defaultsmanager, etc.) where its preferences are stored. Currently there are three ways to edit the defaults database: 1) Use the command-line "defaults" application. 2) Manually edit the .plist files in ~/Library/Preferences/. 3) Use the "Property List Editor" application to edit .plist files one at a time. Each of these methods are limited. #1 is hard to use; if you make any mistakes in #2 then you may corrupt the entire file you're working on; The "Property List Editor" app has bugs in it and only allows you to edit one domain at a time. Defaults Manager provides an easy and intuitive interface for managing the defaults database.
When you run Defaults Manager for the first time you will be presented with a warning. This warning will show up every time unless you click on the "Show Warning" checkbox.
That's pretty much how it works. You can add and delete properties from domains, add and delete domains, and Synchronize your changes.
Because when you Synchronize with the defaults database other applications may have made changes to their preferences while you were working with Defaults Manager. So when you Synchronize you write any changes you've made to the database and read in any changes that have been made since you last synchronized.