Observability is a modelling property that describes the possibility of inferring the internal state of a system from observations of its output. A related property, structural identifiability, refers to the theoretical possibility of determining the parameter values from the output. In fact, structural identifiability becomes a particular case of observability if the parameters are considered as constant state variables. It is possible to simultaneously analyse the observability and structural identifiability of a model using the conceptual tools of differential geometry. Many complex biological processes can be described by systems of nonlinear ordinary differential equations, and can therefore be analysed with this approach. The purpose of this review article is threefold: (I) to serve as a tutorial on observability and structural identifiability of nonlinear systems, using the differential geometry approach for their analysis; (II) to review recent advances in the field; and (III) to identify open problems and suggest new avenues for research in this area.