This chapter presents an overview of polynomial spline theory, with special emphasis on the B-spline representation, spline approximation properties, and hierarchical spline refinement. We start with the definition of B-splines by means of a recurrence relation, and derive several of their most important properties. In particular, we analyze the piecewise polynomial space they span. Then, we present the construction of a suitable spline quasi-interpolant based on local integrals, in order to show how well any function and its derivatives can be approximated in a given spline space. Finally, we provide a unified treatment of recent results on hierarchical splines. We especially focus on the so-called truncated hierarchical B-splines and their main properties. Our presentation is mainly confined to the univariate spline setting, but we also briefly address the multivariate setting via the tensor-product construction and the multivariate extension of the hierarchical approach.