Uniform Convergence: The two definitions
If I understand correctly, you want to convince yourself of (b)$\to$(a).
Assume (b), and let $\epsilon>0$ be an arbitrary positive number. Since we assumed that $\sup_{x\in D}|f_n(x)-f(x)|\to0$, there exists $N$ such that $\sup_{x\in D}|f_n(x)-f(x)|<\epsilon$ for all $n\ge N$, that is, for all $x\in D$, and for all $n\ge N$, $|f_n(x)-f(x)|<\epsilon$, that is, (a).
The $\sup$ is there just as a short way of saying that all $|f_n(x)-f(x)|$ are smaller than something - if the supremum of a set is lower than $\epsilon$, then clearly every element in that set is lower than $\epsilon$, and the limit is just a short way to write the whole $\forall \epsilon \exists N$ part.
The statement that the limit exists in (b) is exactly the statement that $\forall \; \epsilon > 0, \exists \; n \; \text{ s.t. } \forall m > n, \sup |f_m - f| < \epsilon$. The 'uniform' part, i.e. the for all $x$ part, comes as the $\sup$ naturally pulls out the biggest offender.
It isn't necessarily that the convergence takes place at a uniform speed, so much as that there is a speed of convergence such that all pointwise convergence takes place at at least that speed. Put another way, there's a sequence $c_n>0$ such that $c_n\to 0$ and such that for $n$ big enough, $f_n$ stays within the vertical window between $f+c_n$ and $f-c_n$.
For an example where we don't have a "uniform speed", take $f$ to be the constant $0$ function on $[a,b]$ for some $-1<a<0<b<1$, and let each $f_n$ be defined on $[a,b]$ by $$f_n(x)=\begin{cases}0 & x<0\\ x^n & \text{otherwise.}\end{cases}$$ Then we have uniform convergence of the $f_n$ to $f$ on $[a,b]$, but the convergence was immediate in $[a,0]$, and not in $(0,b]$.