We review the main methods used to study spin glasses. In the first part, we focus on methods for fully connected models and systems defined on a tree, such as the replica method, the Thouless-Anderson-Palmer formalism, the cavity method, and the dynamical mean-field theory. In the second part, we deal with the description of low-dimensional systems, mostly in three spatial dimensions, which are mostly studied through numerical simulations. We conclude by mentioning some of the main open problems in the field.