In many industrial applications or engineering problems, contact between deformable elastic bodies plays a crucial role. As examples we mention incremental forming processes, the simulation of rolling wheels, braking pads on tires and roller bearings. Although early theoretical results go back to Hertz, there are still many open problems, and the numerical simulation of dynamic contact problems remains challenging. One of the main challenges relates to the fact that the actual contact zone is not known a priori and has to be identified by use of an iterative solver. Moreover the transition between contact and non-contact is characterized by a change in the type of the boundary condition and thus possibly results in a solution of reduced regularity. From the mathematical point of view, contact problems can be formulated as free boundary value problems and analyzed within the abstract framework of variational inequalities. This work is an overview of theoretical and numerical results obtained in recent years. In particular, we address a priori estimates, iterative solvers, time integration and a posteriori error bounds. Firstly, the governing equations and corresponding inequality constraints for frictional contact problems are stated. Different equivalent formulations are discussed and a weak saddle-point formulation is presented. Special emphasis is placed on uniformly inf-sup stable finite element pairings and a suitable approximation of the dual cone. A priori estimates for the discretization error in the displacement and in the surface traction are given for linear and quadratic finite elements. Here, we restrict ourselves to very simple contact settings with given friction bounds and do not take non-matching contact zones into account. We survey different solver techniques for the non-linear inequality system. Of special interest are so-called semi-smooth Newton techniques applied to an equivalent non-linear system of equations. We discuss in detail the structure of the systems to be solved after consistent linearization and point out the equivalence to classical radial return mappings. In particular, in the case of no friction the Newton solver can easily be implemented as a standard primal-dual active set strategy updating in each iteration step the type and the value of the boundary condition node-wise. The next part is devoted to different aspects of adaptive refinement. Bearing in mind that the mechanical role of the discrete Lagrange multiplier is that of a surface traction, different error indicators can easily be designed. However the analysis is quite challenging and only a few theoretical results exist taking possibly non-matching meshes and the inequality character of the formulation into account. Here, we provide upper and lower bounds for a simplified setting and comment on possible generalizations. Finally different aspects of time integration are discussed. For many applications structure-preserving time integration schemes are of special interest. In this context, energy preservation is of crucial importance. Unfortunately most of the standard techniques result either in very high oscillations in the dual variable or in numerical dissipation. We apply a newly combined time and space integration scheme which is motivated by a reduction of the index of the differential algebraic system.