dpkg is tool to install/remove/configure... only a sigle package
apt and aptitude are tools for working with software repositories -- they can download packages from them, solve dependecies, calculate updates etc. they're using dpkg to install/configure packages (there are some differences between apt and aptitude, but in general, they are doing the same)
Synaptic is simple GUI for apt
Software Center is also GUI for apt (I think it's using python-apt) and it's much more "user friendly" than Synaptic
They all use dpkg, synaptic and software centre are GUI interfaces to apt and dpkg.
aptitude is a newer replacement for apt(Advanced Package Tool).
dpkg is a tool to install,build,remove and manage Debian packages.
dpkg handles the actual installation of the package file,and it manages the installed packages database.
apt does dependeny resolution,while dpkg does package installation and removing. i.e if you install say gnome,you do apt-get install gnome.Then to have gnome you need a lot of other packages than simply gnome.deb,about a hundred other ones.To figure out which ones,apt is used that's dependency resolution.
Synaptic and Software centre are the gui for libapt while apt-get and aptitude are console.
For more details:
You can see the man pages of apt,aptitude and dpkg.