D-Bus is an interprocess communication system (IPC bus) that allows multiple processes to seamlessly communicate with each other. D-Bus is often used to allow daemons (lightweight service providers) and applications wishing to use them to communicate without knowing more than what service they need. In essence, it provides another level of abstraction. A typical setup might be to have a power monitor daemon that can notify when power is failing. Applications and other services that want to do something when power starts failing can find that daemon and use it without knowing how the daemon works. This allows the application to use different hardware as long as a power monitoring daemon is provided for it.
In the typical desktop environment, there are two D-Bus buses defined: the session and system buses. Since a bus is really just an instance of a D-Bus...