The 'sudo apt-get update' is not all the time necessary : it tells apt to checks software repository for newer versions and update local cache.
It is not necessary to do it all the time. But if your local software cache is old, and you try to install something new, apt would try to fetch a (old) version that is no longer available and will complain. Then you can do 'sudo apt-get update' to force refresh.
'sudo apt-get update' is also done automatically by desktop "software update" when it check for updates.
This is why you must 'sudo apt-get update' when adding a new PPA or any kind of Debian software repository, if you don't, your local apt cache won't know new available packages.
Just a reminder :
apt-cache policy vim
will show you available and installed versions for package "vim".