Extremum seeking (ES) is a powerful approach to the optimization and stabilization of unknown dynamic systems and is an active field of research in control theory. This paper surveys recent ES algorithm developments. ES has evolved from its origins as a simple but brilliant engineering invention in the 1922 paper of Leblanc to the breakthrough work of Krstić and Wang in 2000 in which the first general stability analysis was given, to the most recent and numerous analytical results which prove convergence for a wide range of general dynamic systems. This survey provides a thorough overview of the dynamic systems for which ES stabilization and optimization results have been provided, the various analytical methods for proving convergence, and an overview of many real world applications for which ES has been utilized in industry and at scientific laboratories.