Constitutive models are essential in any rational theoretical modelling in geotechnics. How the stress-strain response of soil or rock is represented in these models is usually the key to successful prediction of the behaviour of geotechnical structures. However, the important details of these models, particularly the idealizations that are made, are often poorly understood or ignored, sometimes at significant cost to the unwary analyst. Indeed, the capabilities and the shortcomings of these models, especially the more advanced models, are not always easy to ascertain. In some cases determination of the input parameters is not straightforward. Consequently, it may be difficult to determine which model to select for a particular task. This lecture charts the development of constitutive models used to represent the mechanical behaviour of soils and provides an overview of the principles and the main features and components of existing, widely used constitutive models for soil. The intention is to emphasise the physical basis of these models, rather than their mathematical complexity. Some of the constitutive models encoded in the software packages used routinely in geotechnical practice are reviewed and discussion is also provided on their specific limitations. Examples of practical applications are used to illustrate the both the advantages and some of the pitfalls of the commonly used models. A brief description of recent developments in this area of geotechnical research is also included.