Just as a functor is a morphism between categories, a natural transformations is a 2-morphism between two functors.
Natural transformations are the 2-morphisms in the 2-category Cat.
Given categories $C$ and $D$ and functors $F, G:C \to D,$ a natural transformation $\alpha:F \Rightarrow G$, denoted
is an assignment to every object $x$ in $C$ of a morphism $\alpha_x:F(x) \to G(x)$ in $D$ (called the component of $\alpha$ at $x$) such that for any morphism $f:x \to y$ in $C$, the following diagram commutes in $D$:
Natural transformations between functors $C \to D$ and $D \to E$ compose in the obvious way to natural transformations $C \to E$ (this is their vertical composition in the 2-category Cat) and functors $F : C \to D$ with natural transformations between them form the functor category
The notation alludes to the fact that this makes Cat a closed monoidal category. Since $Cat$ is in fact a cartesian closed category, another common notation is $D^C$. In fact, if we want $Cat$ to be cartesian closed, the definition of natural transformation is forced (since an adjoint functor is unique). This is discussed in a section below.
There is also a horizontal composition of natural transformations, which makes Cat a 2-category: the Godement product. See there for details.
In fact, Cat is a 2-category (a $Cat$-enriched category) because it is (cartesian) closed: closed monoidal categories are automatically enriched over themselves, via their internal hom.
An alternative but ultimately equivalent way to define a natural transformation $\alpha : F \rightarrow G$ is as an assignment to every morphism $m : x \rightarrow y$ in $C$ of a morphism $\alpha(m) : F(x) \rightarrow G(y)$, in such a way as that $\alpha(m_0 m_1 m_2) = G(m_0) \alpha(m_1) F(m_2)$ for every ternary composition $m_0m_1m_2$ in $C$. The relation of this to the previous definition is that the commutative squares in the previous definition for any morphism $f$ give the value $\alpha(f)$, and each $\alpha(id_x)$ gives the component $\alpha_x$. Composition of natural transformations can be specified directly in terms of this account as well: specifically, an $n$-ary composition $\alpha_1 ... \alpha_n$ of natural transformations is uniquely determined by the property that $(\alpha_1 ... \alpha_n)(m_1 ... m_n) = \alpha_1(m_1) ... \alpha_n(m_n)$, for every $n$-ary composition $m_1 ... m_n$ in $C$.
The definition of the functor category $[C,D]$ with morphisms being natural transformations is precisely the one that makes $Cat$ a cartesian closed monoidal category.
The category Cat of all categories (regarded for the moment just as an ordinary 1-category) is a cartesian monoidal category: for every two categories $C$ and $D$ there is the cartesian product category $C \times D$, whose objects and morphisms are simply pairs of objects and morphisms in $C$ and $D$: $Mor(C \times D) = Mor(C) \times Mor(D)$.
It therefore makes sense to ask if there is for each category $C \in Cat$ an internal hom functor $[C,-] : Cat \to Cat$ that would make Cat into a closed monoidal category in that for $A,B,C \in Cat$ we have natural isomorphisms of sets of functors
This is precisely the case for $[C,B]$ being the functor category with functors $C \to B$ as objects and natural transformations, as defined above, as morphisms.
Since $Cat$ here is cartesian closed, one often uses the exponential notation $B^C := [B,C]$ for the functor category.
To derive from this the definition of natural transformations above, it is sufficient to consider the interval category $A := I := \{a \to b\}$. For any category $E$, a functor $I \to E$ is precisely a choice of morphism in $E$. This means that we can check what a morphism in the internal hom category $[C,B]$ is by checking what functors $I \to [C,D]$ are. But by the defining property of $[C,D]$ as an internal hom, such functors are in natural bijection to functors $I \times C \to B$.
But, as mentioned above, we know what the category $I \times C$ is like: its morphisms are pairs of morphisms in $I$ and $C$, subject to the obvious composition law, which says in particular that for $f : c_1 \to c_2$ any morphism in $C$ we have
Here the right side is more conveniently depicted as a commuting square
So a natural transformation between functors $C \to D$ is given by the images of such squares in $D$. By tracing back the way the hom-isomorphism works, one finds that the image of such a square in $D$ for a natural transformation $\alpha : F \to G$ is the naturality square from above:
There is a nice way of describing these structures due to Charles Ehresmann. For a category $D$ let $(\square D,\circ_1,\circ_2)$ be the double category of commutative squares in $D$. Then the class of natural transformations of functors $C \to D$ can be described as $Cat(C,(\square D,\circ_1))$. But then $\circ_2$ induces a category structure on this and so we get $CAT(C,D)$.
An advantage of this approach is that it applies to the case of topological categories and groupoids (working in a convenient category of spaces).
An analogous approach works for strict cubical $\omega$-categories with connections, using the good properties of cubes, so leading to a monoidal closed structure for these objects. This yields by an equivalence of categories a monoidal closed structure on strict globular omega-categories, where the tensor product is the Crans-Gray tensor product.
For functors between higher categories, see lax natural transformation etc.
A transformation which is natural only relative to isomorphisms may be called a canonical transformation.
For functors with more complicated shapes than $C \rightrightarrows D$, see extranatural transformation and dinatural transformation.
See natural transformation (discussion) for an informal discussion about natural transformations.