La découverte de paradoxes dans la théorie de Georg Cantor provoqua au début du XXe siècle une grave crise des mathématiques. On distingue habituellement les paradoxes logiques et les paradoxes sémantiques. Les deux exemples suivants illustrent les deux catégories.
Le paradoxe de Russell, découvert en 1901 par le mathématicien Bertrand Russell, résulte de la considération des ensembles qui ne sont pas éléments d'eux-mêmes.
On pose M l'ensemble des ensembles qui ne se contiennent pas eux-mêmes. Formellement, A est un élément de M si et seulement si A n'est pas un élément de lui-même.
Faisons l'hypothèse que M se contient lui-même, autrement dit que M est un élément de M. Cela est contradictoire avec la définition de M. On en déduit que M ne se contient pas lui-même. Mais dans ce cas, M est un ensemble qui n'est pas élément de lui-même et devrait à ce titre faire partie de M. Ainsi naît le paradoxe.
Le paradoxe de Berry résulte de la considération des entiers naturels définissables en moins de quinze mots français.
Soit B cet ensemble. Il est fini, car les séquences de quinze mots français sont en nombre fini. Soit a le plus grand élément de B. Soit b l'entier succédant à a. Il n'appartient donc pas à B. Pourtant b peut être défini en quatorze mots: "le successeur du plus grand entier naturel définissable en moins de quinze mots français". D'où la contradiction.
Les paradoxes montrent que la théorie des ensembles au sens de Cantor est une théorie contradictoire.
La racine du problème vient de ce que nous avons accepté que n'importe quelle propriété puisse être utilisée pour construire les ensembles. Or certaines de ces propriétés (et c'est précisément le cas dans les deux paradoxes précédents) génèrent des boucles autoréférentielles instables (autrement dit des "cercles vicieux") et doivent donc être exclues.
La théorie axiomatique des ensembles pose des restrictions sur les types d'ensembles dont la construction est autorisée et évite ainsi les paradoxes connus.
La contrepartie de l'élimination des paradoxes est un développement beaucoup plus difficile, qui nécessite de bien distinguer le langage des ensembles proprement dit (le langage-objet) et le langage permettant de parler de ce langage-objet (la métalangue). Le paradoxe de Berry, qui résulte de la confusion entre ces deux langages, est ainsi évité. De même, afin d'éviter le paradoxe de Russell, il n'est pas admis de définir un ensemble en compréhension à partir de n'importe quelle propriété sans aucune restriction.
La théorie naïve des ensembles évite aussi les paradoxes si elle précise au cas par cas les ensembles qu'elle s'autorise à considérer. Dans sa forme Zermelo-Fraenkel, elle présente alors l'inconvénient de nécessiter, outre des axiomes simples, un schéma d'axiome de remplacement qui équivaut en fait à une liste infinie d'axiomes du premier ordre.
Dans les domaines mathématiques qui semblent nécessiter malgré tout un « ensemble de tous les ensembles » (comme la théorie des catégories), on peut parfois utiliser un ensemble universel suffisamment grand pour que ces théories puissent être développées ( voir l'article « sous-ensemble » ).
Cependant, nous pouvons recourir à une théorie des ensembles autorisant les classes. Dans ces théories, il existe une classe de tous les ensembles, ainsi qu'une classe de tous les ensembles qui ne se contiennent pas eux-mêmes. Comme ces classes ne sont pas des ensembles, les paradoxes tels que celui de Russell sont évités. Ainsi en est-il de NBG, variante élégante du système classique, qui repose sur 16 ou 18 axiomes simples au lieu de schémas.