IpoDrivers are one of the less exploited feature of the new ones packed in the previous version of Blender (2.40) although it could be a powerful tool and a real time saver when it comes to complex animations, this is mainly due to the difficulty in understanding what they really are, how they can be used and in which scenarios they are more handy.
A good answer to the first question can be found on the feature description page on the official Blender site:
An IpoDriver is like an IpoCurve, but instead of a Bezier curve, it allows to connect a property of other Objects as input for the "channel". For example, IpoDrivers can be used to have a Shape Key being "driven" by the rotation of a Bone. Or the RGB colors of a Material get driven by the XYZ location of an Object.
To learn how to use them and to look at an example scenario in which IpoDrivers can be applied successfully you can take a look at the latest version of Calvin's tutorial on how to make animated cartoon eyes (section 4 was added recently and is what you should look directly to if you already know how to model cartoon style scenes/objects), a really easy and fun one.