B-splines are a family of piecewise-defined polynomials that provide a flexible and efficient way to represent curves and surfaces in computational design and data interpolation. They are defined by a set of control points and a knot vector, allowing for local control and smoothness over the curve or surface.