Assume you have gcc-3.4.4 and gcc-4.0.2 installed (where >=sys-devel/gcc-4.0 is unmasked). Now after an emerge --sync you have gcc-3.4.6 and gcc-4.1.0 available. However, emerge --update gcc will only install gcc-4.1.0 (i.e. the slot with the highest version number), leaving it to the user to check the portage tree to see that there is a update for the other slot available as well. emerge -u package should check all (installed) slots of "package" for updates, and update all slots (or at least have an option that does)
*** This bug has been marked as a duplicate of 4698 ***