In this article we investigate various versions of the Poincare-Birkhoff theorem and briefly describe its history. We present detailed proof for a generalization by J. Frank. We also study some applications of the Poincare-Birkhoff theorem to differential equations.