Finite model theory can be succinctly described as the study of logics on classes of finite structures. It is an area of research in the interface between logic, combinatorics, and computational complexity that has been steadily developing during the past twenty five years. In this talk, we trace the early origins of finite model theory, highlight some of the main results in this area, and conclude with certain challenging open problems.