It is possible to associate a topological space to the category of modules over any ring. This space, the Ziegler spectrum, is based on the indecomposable pure-injective modules. Although the Ziegler spectrum arose within the model theory of modules and plays a central role in that subject, this book concentrates specifically on its algebraic aspects and uses. The central aim is to understand modules and the categories they form through associated structures and dimensions, which reflect the complexity of these, and similar, categories. The structures and dimensions considered arise particularly through the application of model-theoretic and functor-category ideas and methods. Purity and associated notions are central, localisation is an ever-present theme and various types of spectrum play organising roles. This book presents a unified, coherent account of material which is often presented from very different viewpoints and clarifies the relationships between these various approaches.