<p>I'm new to development on the iPhone.  Just about every sample project (as well as the default project templates) have one or more delegates and controllers.  Can someone give me a breakdown of what the delegates are responsible for vs. what the controllers are supposed to do?</p>

The simplest way I can think to differentiate the two are:
A delegate is a protocol (interface) that defines methods that an object implements in order to receive specific messages from other objects.  Delegates objects are most often used to receive asynchronous callbacks such as user input, I/O.
A controller is an object that usually contains UI elements (views, controls, etc.) and data, and both receives and send messages to the various objects within it.  In many cases, a controller
is
a delegate and can implement several delegate protocols to receive events from multiple objects.
Keep in mind that many UI elements and controls let you pass events back to the controller by linking them to an IBAction method in Interface Builder.  This is very handy as it doesn't require extra code to implement delegates.  However, some other APIs such as the ABPeoplePickerNavigationController or NSURLConnection have no visualization in Interface Builder and so must use delegates to handle their events.