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).