The Elekes-Szabo Theorem gives an upper bound for the intersection between a Cartesian product and the zero set of a sufficiently complicated polynomial. This theorem was motivated by applications for some beautiful problems in discrete geometry related to the Erdos distinct distances problem. This talk will introduce the Elekes-Szabo Theorem and discuss some of these geometric applications, as well as some more recent applications in the context of the sum-product problem.