Tools for aptΒΆ

On you Debian system you will find the following tools which does combinations of the same things:

apt-get
apt-cache
aptitude
apt

So, what to use and when?