version 1 of your preferences file includes the following keys
- WindowRect
- WindowVis

your end user upgrades to version 2 of your software and you introduce new keys, but continue using the same preference file, so you now have
- WindowRect
- WindowVis
- ToolbarVis

because you are their existing v1 preference file, having the default value allows your program to get and set a value without requiring a new preference file to be written.. if this is still too abstract, let me know and i can see about banging out a quick stack to show you..