What you are looking for has two pieces. One is updating the base system, and the other is updating the additional packages.
The first can be done with freebsd-update
. This command supports both updating with patches to the current release and upgrading to a new release. Look at its man page for details. It's far easier than installing updates from source.
Updating packages also has two pieces -- updating the ports tree, and rebuilding out-of-date ports. The first can be done either with cvs
/cvsup
/csup
or (my preference) portsnap
. portsnap
works a lot like freebsd-update
but is for the ports tree. Again, see its man page. You can use either portupgrade
as described in another answer or portmaster
(which I prefer due to lower overhead and simplicity, although it probably doesn't have as many features as portupgrade
).