Its main purpose is to provide a back end to GSettings on platforms that don't already have configuration storage systems.
PolicyKit integration is planned so that a normal user may temporarily gain the ability to, for example, write to the keys under /system/ (or /default/).
This means that programs like the GNOME Display Manager configuration utility no longer have to be run as root.
Typically, reading a key from dconf involves zero system calls and zero context switches.
Avoiding round trips and context switches is desirable in itself, but the real advantage[citation needed] comes from allowing the I/O scheduler in the kernel to do a better job by saturating it with requests coming from all of the applications trying to read their keys (as opposed to a common configuration server serially requesting a single key at a time).
Having all of the keys in a single compact binary format also avoids the intense fragmentation problems currently experienced by the tree-of-directories-of-xml-files approach.
It is a simple database file format that stores a mapping from strings to GVariant values in a way that is extremely efficient for lookups.
GVariant is useful whenever data needs to be serialized, for example when sending method parameters in DBus, or when saving settings using GSettings.