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
csup or (my preference)
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