The adjoint functor theorem <a href="http://en.wikipedia.org/wiki/Adjoint_functor_theorem#Existence"> as stated here</a> and the special adjoint functor theorem (which can also both be found in Mac Lane) are both very handy for showing the existence of adjoint functors.

First here is the statement of the special adjoint functor theorem:

<b>Theorem</b> Let $G\colon D\to C$ be a functor and suppose that the following conditions are satisfied:  
(i) $D$ and $C$ have small hom-sets  
(ii) $D$ has small limits  
(iii) $D$ is well-powered i.e., every object has a set of subobjects (where by a subobject we mean an equivalence class of monics)  
(iv) $D$ has a small cogenerating set $S$  
(v) $G$ preserves limits  
Then $G$ has a left adjoint.

<b>Example</b> I think this is a pretty standard example. Consider the inclusion <b>CHaus</b>$\to$<b>Top</b> of the category of compact Hausdorff spaces into the category of all topological spaces. Both of these categories have small hom-sets, it follows from Tychonoff's Theorem that <b>CHaus</b> has all small products and it is not so hard to check it has equalizers so it has all small limits and the the inclusion preserves these. <b>CHaus</b> is well-powered since monics are just injective continuous maps and there are only a small collection of topologies making any subspace compact and Hausdorff. Finally, one can check that $[0,1]$ is a cogenerator for <b>CHaus</b>. So $G$ has a left adjoint $F$ and we have just proved that the Stone-Čech compactification exists.

If you have a candidate for an adjoint (say the pair $(F,G)$) and you want to check directly it is often easiest to try and cook up a unit and/or a counit and verify that there is an adjunction that way - either by using them to give an explicit bijection of hom-sets or by checking that the composites
$$G \stackrel{\eta G}{\to} GFG \stackrel{G \epsilon}{\to} G$$
and
$$F \stackrel{F \eta}{\to} FGF \stackrel{\epsilon F}{\to} F$$
are identities of $G$ and $F$ respectively.

I thought (although I am at the risk of this getting excessively long) that I would add another approach. One can often use existing formalism to produce adjoints (although this is secretly using one of the adjoint functor theorems in most cases so in some sense is only psychologically different). For instance as in Reid Barton's <a href="https://mathoverflow.net/questions/1620/is-there-a-free-digraph-associated-to-a-graph/1703#1703">nice answer</a> if one can interpret the situation in terms of categories of presheaves or sheaves it is immediate that certain pairs of adjoints exist. Andrew's great answer gives another large class of examples where the content of the special adjoint functor theorem is working behind the scenes to make verifying the existence of adjoints very easy. Another class of examples is given by torsion theories where one can produce adjoints to the inclusions of certain subcategories of abelian (more generally pre-triangulated) categories by checking that certain orthogonality/decomposition properties hold.


I can't help remarking that one instance where it is very easy to produce adjoints is in the setting of compactly generated (and well generated) triangulated categories. In the land of compactly generated triangulated categories one can wave the magic wand of Brown representability and (provided the target has small hom-sets) the only obstruction for a triangulated functor to have a right/left adjoint is preserving coproducts/products (and the adjoint is automatically triangulated).