  Ultrafilters are very useful and versatile objects with applications
throughout mathematics: in topology, analysis, combinarotics, model theory, and
even theory of social choice. Proofs based on ultrafilters tend to be shorter
and more elegant than their classical counterparts. In this thesis, we survey
some of the most striking ways in which ultrafilters can be exploited in
combinatorics and ergodic theory, with a brief mention of model theory.
  In the initial sections, we establish the basics of the theory of
ultrafilters in the hope of keeping our exposition possibly self-contained, and
then proceed to specific applications. Important combinatorial results we
discuss are the theorems of Hindman, van der Waerden and Hales-Jewett. Each of
them asserts essentially that in a finite partition of, respectively, the
natural numbers or words over a finite alphabet, one cell much of the
combinatorial structure. We next turn to results in ergodic theory, which rely
strongly on combinatorial preliminaries. They assert essentially that certain
sets of return times are combinatorially rich. We finish by presenting the
ultrafilter proof of the famous Arrow's Impossibility Theorem and the
construction of the ultraproduct in model theory.
