Why are there so many smooth functions?
Smoothness only constrains the infinitesimal behaviour of a function $f$ at a given point $x_0$ - the limiting behaviour of $f(x)$ as $x \to x_0$. Analyticity constrains the local behaviour - the value of $f$ on a non-infinitesimal ball $B(x_0,\varepsilon)$ - a far stronger constraint.
Actually, one should make a distinction between qualitative smoothness - i.e. infinite differentiability, with no bounds on the derivatives - and quantitative smoothness - things like bounds on $C^k$ norms (or variants of these norms, such as Holder norms or Sobolev norms). The latter does control local behaviour and not just infinitesimal behaviour, thanks to tools such as Taylor's theorem with remainder, and is a far stronger constraint; a highly oscillatory function need not be close in reasonable norms to smooth functions with good bounds on $C^k$ norms.
The complex variable case is a bit different from the real variable case, as the mere fact of differentiability now imposes an elliptic constraint, namely the Cauchy-Riemann equations: see Why do functions in complex analysis behave so well? (as opposed to functions in real analysis)
Given a paracompact smooth manifold, you have smooth partitions of unity (nLab), but on a real analytic manifold (e.g. a complex manifold viewed as a real manifold) one doesn't have analytic partitions of unity (much less holomorphic, if you are in the complex case). That is, given any open cover on a smooth manifold, one can find a partition of unity subordinate to that cover - this is a very topological property. Using partitions of unity you can paste together local functions as desired.
The existence of smooth partitions of unity comes down to the existence of a smooth (but not analytic!) bump function on $[-1,1]$. Edit: you can find details and formulas on Wikipedia.
A related fact is that on a paracompact smooth manifold, the sheaf of real-valued functions is fine (nLab,wikipedia).
This is not really an answer, but rather a puzzling example about the notion of smoothness.
Consider the unit disk
$$ D=\lbrace z\in\mathbb{C};\;\;|z|\leq 1\rbrace.$$
The cyclic group $C_n:=\mathbb{Z}/n\mathbb{Z}$, $n\geq 3$, acts on $D$ by rotations of angle $2\pi/n$ about the origin. Consider the quotient $D/C_n$. The functions on this quotient can be identified with the $C_n$-invariant functions on $D$. There are several rings of functions on $D/C_n$
$$ C^0(D)^{C_n} :=\mbox{ continuous, complex valued $C_n$-invariant functions on $D$}$$
$$ C^\infty(D)^{C_n} :=\mbox{smooth, complex valued $C_n$-invariant functions on $D$}$$
$$ \mathcal{H}(D)^{C_n}:=\mbox{holomorphic valued $C_n$-invariant functions on $D$}$$
Here is the surprise. The ring $C^0(D)^{C_n}$ is isomorphic to the ring $C^0(D)$ of continuous complex valued functions on $D$. The reason is that the spaces $D$ and $D/C_n$ are homeomorphic compact spaces and thus their rings of continuous complex valued functions are isomorphic.
Now observe that the ring $\mathcal{H}(D)^{C_n}$ is also isomorphic to the ring $\mathcal{H}(D)$. Indeed, a holomorphic function
$$ f(z)=\sum_{k\geq 0} a_k z^k $$
is $C_n$ invariant iff $a_k=0$, $\forall k\not\equiv 0 \bmod n$. Thus
$$ f(z)\in \mathcal{H}(D)^{C_n} \Longleftrightarrow f(z)=\sum_{k\geq 0} a_{kn} z^{kn} $$
The map
$$ \mathcal{H}(D)\ni f(z) \mapsto f(z^n)\in \mathcal{H}(D)^{C_n} $$
is the sought for isomorphism. These two examples show that we cannot distinguish between $D$ and $D/C_n$ topologically or holomorphically. Surprisingly
$$ C^\infty(D)^{C_n} \not\cong C^\infty(D)$$
This is not obvious but not terribly hard to prove. The upshot of this last fact is that smoothly the disk $D$ and the cone $D/C_n$ are different.
The point of this simple example is that smoothness is a rather subtle concept. More subtle examples can be found in Kolmogorov's work on Hilbert's 13th problem. Using probabilistic ideas he gives a precise quantitative meaning to the fact that smooth functions are fewer than continuous functions.
MR0112032 (22 #2890) Kolmogorov, A. N.; Tihomirov, V. M. ε-entropy and ε-capacity of sets in function spaces. (Russian) Uspehi Mat. Nauk 14 1959 no. 2 (86), 3–86.
Vituškin, A. G.; Henkin, G. M. Linear superpositions of functions. Uspehi Mat. Nauk 22 1967 no. 1 (133), 77–124.