Using distributed version control means that everyone has a repository, and everybody can be a client. Unlike with centralized version control systems one has the freedom and flexibility of having one's own local repository (without having to connect to a server), using it (committing, without having to connect to a server), and synchronizing it with other repositories later (regardless of the number of branches).
The distributed nature of this systems allow to handle conflicts more intelligently and adapting to more complex workflows without hassle, and with free hosting services for this kind of repositories (such as bitbucket.org, github.com and launchpad.net), everyone can exchange code in any direction.
The typical setup of a centralized system such as CVS and Subversion involve a server with a repository and users as clients that push the changes remotely. Everyone must be in tone with the same repository.
In a DVCS setup there is often also a server that has a central repository where everyone pushes changes, however, each one of the clients have their own repositories locally (to which they commit their changes), so they only need to connect to the server with the central repository when sharing the changes, in other words, everybody has a repository they work with and then synchronize with a central repository.