One complaint I've always had about FreeBSD port's tree is upgrading outdated installed ports. Typically you need to go by hand and uninstall all the dependancies of a port, upgrade the port, and then reinstall all the dependancies. However, there are a few solutions for port upgrade management. The one I like the best is portupgrade that is available in the ports tree under /usr/ports/sysutils/portupgrade.
I have three typical usages:
Upgrade all ports, recursively reinstall any dependancies, and install any build dependancies
portupgrade -arR
Upgrade all ports, but ignore dependancies
portupgrade -a
Upgrade a single port, recursively reinstall any dependancies, install any build dependancies
portupgrade -rR "portname"