Over at lunarsite, Sebastian Wiesner has a very nice post that explains the ins and outs of autoloads in Emacs lisp. Mostly, autoloads take care of themselves but sometimes users do need to interact with them. Here's an example that I learned from Steve Purcell.
Of course, if you're writing packages you will need to understand how autoloads work and when to use them. Wiesner's post gives you all the information you need. Definitely worth a read even if you're not writing your own packages.