There are three ways that I think are best to do upgrades on your system.
Apt-get and aptitude are the best. I, personally prefer apt-get.
To get the "held" packages upgraded use;
The third way to get package upgrades done is use Synaptic if you prefer a gui. It is simply a front end for apt-get. It will do the packages "held" by apt-get in the first pass along with the packages that apt-get and aptitude will not hold.
You will get better information on what is being done using either apt-get or aptitude.
In the past it has been a bad idea to mix using apt-get and aptitude. This was because it would mess with the status of a package. Packages that were installed as depends could appear to be manually installed and therefore recommended for removal (status should be "automatic" instead of "manual"). This is no longer the case, however, so you can use either or both.
I generally us apt-get but occasionnally use aptitude for things it will do better or things it will do that apt-get will not. Both are great tools.