Curves and Surfaces are particular types of Blender objects. They are expressed by mathematical functions (interpolation) rather than linear interpolation between a series of points.
Certain modeling techniques, such as extruding a profile along a path, are possible only using curves. On the other hand, when using curves, vertex-level control is more difficult and if fine control is necessary, mesh editing may be a better modeling option.
They are also widely used in animation, both as for objects to move along (see constraints below) and as F-Curves to change the properties of objects as a function of time.