The adjoint functor theorem <a href="http://en.wikipedia.org/wiki/Adjoint_functor_theorem#General_existence_theorem"> 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.

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 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).