A good place to read about uniform spaces
For a general audience it can be interesting to know that uniform spaces are just one of two opposite generalizations of metric spaces. Measuring distances with the help of metric, we can be interested in points lying on small distance (and exactly this aspect interests specialists in uniform spaces) but also is points lying on large distance (this is the subject of coarse geometry). So, uniform and coarse spaces are two opposite generalizations of metric spaces, corresponding to two ends of the real half-line $(0,\infty)$. Both of them allow us to compare distances between points without using real numbers.
Uniform spaces and coarse spaces have dual definitions. Both of them are pairs $(X,\mathcal U$) consisting of a set $X$ and a family $\mathcal U$ of subsets $U\subset X\times X$ containing the diagonal but uniform spaces obey the axioms:
(U1) for any $U\subset V\subset X\times X\quad U\in\mathcal U$ implies $V\in\mathcal U$;
(U2) each $U\in\mathcal U$ the entourage $-U:=\{(y,x):(x,y)\in U\}$ belongs to $\mathcal U$;
(U3) each $U\in\mathcal U$ contains $V+V:=\{(x,z):\exists y\in X\;(x,y),(y,z)\in V\}$ for some $V\in\mathcal U$.
Whereas coarse spaces obey the dual axioms:
(C1) for any $U\subset V\subset X\times X\quad V\in\mathcal U$ implies $U\in\mathcal U$;
(C2) each $U\in\mathcal U$ the entourage $-U:=\{(y,x):(x,y)\in U\}$ belongs to $\mathcal U$;
(C3) for each $U\in\mathcal U$ the set $U+U$ is contained in some $V\in\mathcal U$.
There is also a duality in morphisms. For the category of uniform spaces morphisms are uniformly continuous maps, i.e., functions $f:X\to Y$ between uniform spaces $(X,\mathcal U_X)$ and $(Y,\mathcal U_Y)$ such that for any $U\in\mathcal U_Y$ there exists $V\in\mathcal U_X$ such that $\{(f(x),f(y)):(x,y)\in V\}\subset U$.
For the category of coarse spaces morphisms are coarse maps, i.e., functions $f:X\to Y$ between coarse spaces $(X,\mathcal U_X)$ and $(Y,\mathcal U_Y)$ such that for any $V\in\mathcal U_X$ there exists $U\in\mathcal U_Y$ such that $\{(f(x),f(y)):(x,y)\in V\}\subset U$.
In fact, the structure of a uniform (coarse) space is the most general structure which allows us to speak about uniformly continuous (resp. coarse) maps whose $\varepsilon$-$\delta$-definitions were known in analysis long before the appearence of uniform (or coarse) spaces. And this was the reason for introducing uniform or coarse spaces.
Concerning the references, for me the basic reference in uniform spaces is Chapter 8 of Engelking's book "General topology" and for coarse spaces the book "Lectures on coarse geometry" of J.Roe.
For a bit deeper questions related to uniform or coarse spaces, which can be interesting for general audience, I would recommend the problem of dimension. Why does the space $\mathbb R^n$ have dimension $n$ and in which sense? In fact, there are many deep answers to this question in many various categories having $\mathbb R^n$ as an object (in particular, in the category of linear spaces, rings, metric spaces, topological spaces, etc).
The categories of uniform and coarse spaces also have their own definitions of dimension, which are dual in some sense and yield the same dimension $n$ for the space $\mathbb R^n$.
The uniform dimension $dim(X,\mathcal U)$ of a uniform space $(X,\mathcal U)$ is the smallest number $n$ such that for any $U\in\mathcal U$ there exist $V\in\mathcal U$ and a cover $\mathcal C$ of $X$ by sets $C\subset X$ of diameter $<U$ (which means that $C\times C\subset U$) such that $\mathcal C$ can be written as the union $\mathcal C=\bigcup_{i=0}^n\mathcal C_i$ of $(n+1)$ subfamilies $\mathcal C_i$, which are $V$-separated in the sense that $(C\times D)\cap V=\emptyset$ for any distinct sets $C,D\in\mathcal C_i$.
The coarse (or else Gromov's asymptotic) dimension $Dim(X,\mathcal U)$ of a coarse space $(X,\mathcal U)$ is the smallest number $n$ such that for any $V\in\mathcal U$ there exist $U\in\mathcal U$ and a cover $\mathcal C$ of $X$ by sets $C\subset X$ of diameter $<U$ such that $\mathcal C$ can be written as the union $\mathcal C=\bigcup_{i=0}^n\mathcal C_i$ of $(n+1)$ subfamilies $\mathcal C_i$, which are $V$-separated.
These two definition have only one change in quantifiers but "look" in different directions -- uniform dimension takes small $U$, but the coarse direction takes large $V$!
The standard wall tiled with (small or large) bricks shows that the plane has both uniform and coarse dimension equal to 2. A non-trivial result of uniform and coarse dimension theories says that the uniform and coarse dimension of $\mathbb R^n$ is equal to $n$. By the way, the coarse dimension of $\mathbb Z^n$ also is $n$ whereas the uniform dimension of $\mathbb Z^n$ is zero. On the other hand, the uniform dimension of the cube $[0,1]^n$ is $n$ but the coarse dimension of $[0,1]^n$ is zero.
I would motivate them as follows: if topological spaces were invented to give a general meaning to "continuous function", then uniform spaces were invented to give a general meaning to "uniformly continuous function". It is clear what "uniformly continuous" should mean for metric spaces and topological groups, but how should the general notion be formalized?
Once this is formalized, one can define the notion of Cauchy net in a uniform space (which is something you cannot do for general topological spaces). This leads to the notion of completeness of course (every Cauchy net converges to at least one point), although the theory is much cleaner for complete Hausdorff uniform spaces, where you have convergence to at most one point as well.
To illustrate this: the Cauchy completion of a uniform space $X$ can be defined in the usual way via equivalence classes of Cauchy nets. It is a complete Hausdorff uniform space $\bar{X}$ together with a map $i: X \to \bar{X}$ which satisfies a universal property: given a complete Hausdorff uniform space $Y$ and a uniformly continuous function $f: X \to Y$, there is a unique uniformly continuous map $\bar{f}: \bar{X} \to Y$ such that $\bar{f} \circ i = f$. (If you omit "Hausdorff" or "uniformly", you lose the universal property, which is arguably the point of the completion.)
The nLab has an article on uniform spaces with some material not included in the Wikipedia article.
To sell uniform spaces in a single presentation requires above all some convincing motivation. Why develop all this machinery as a generalization of metric spaces? What nontrivial examples require such an artificial-looking development?
The Wikipedia entry here is accurate as far as it goes, though as usual the references and examples are inadequate. As that article points out, uniform spaces were introduced by Weil in 1937 (applied in his 1940 monograph L'integration dans les groupes topologiques et ses applications). Bourbaki gave a reasonable but rather formal treatment of the foundations in early chapters of their book on general topology.
Without topological groups as examples, it's tough to offer enough motivation. For me the reason to look at uniformities was the need to understand the approach of Serre and others (Bass, Milnor, Matsumoto, Prasad, Raghunathan) to the Congruence Subgroup Problem for algebraic groups over number fields such as SL$(n,\mathbb{Q})$. Here one has two natural subgroup topologies, with fundamental systems of neighborhoods of the identity given by all arithmetic subgroups or just by congruence subgroups. Profinite completion by itself isn't enough to formulate the problem precisely, so completion relative to a uniform structure comes into play. There is an elementary introduction to these ideas in Section 16 of my old Springer Lecture Notes 789 Arithmetic Groups.