It happens that occasionally you may be trying to run an upgrade on your machine and you might notice something like the following:
root@ninja:~# apt-get upgrade
Building Dependency Tree... Done
The following packages have been kept back:
bind9-host dnsutils
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
Here, you can see that two packages were unable to be successfully upgraded, even though new versions do exist. The reason is that sometimes, new package dependancies have been introduced that currently don't exist on your system.
To resolve this, you can simply run a distribution upgrade to resolve the dependancies and properly upgrade your software:
root@ninja:~# apt-get dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following NEW packages will be installed:
libdns16 libdps1
The following packages will be upgraded:
bind9-host dnsutils imagemagick libmagick6
2 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 2254kB of archives.
After unpacking 1860kB of additional disk space will be used.
Do you want to continue? [Y/n]
From here, the two dependancies become satisfied, and your software will then continue to update normally again in the future.