Why are adjoints usually defined in terms of hom-sets? The usual definition of adjoints one finds in many category theory textbooks is:

Let $\mathcal{C}$ and $\mathcal{D}$ be categories and 
  $F:{\mathcal {D}}\rightarrow {\mathcal {C}}$   and   $G:{\mathcal {C}}\rightarrow {\mathcal {D}}$ functors. We say that $F$ is left adjoint of $U$ (or, equivalently, $U$ is right adjoint of $F$) if there is a
  a family of bijections
  $$\mathrm {hom} _{\mathcal {C}}(FY,X)\cong \mathrm {hom} _{\mathcal {D}}(Y,GX)$$
  which is natural in X and Y.

Aren't we taking for granted that $\mathcal{C}$ and $\mathcal{D}$ are locally small? Otherwise, as far as I know, $\mathrm {hom} _{\mathcal {C}}(-,-)$ and $\mathrm {hom} _{\mathcal {D}}(-,-)$ need not be a set and, obviously, be subject of any relation (let alone a bijection!) This definition seems meaningless in this case then.


*

*So why are adjoints usually defined in terms of hom-sets?

*Are we taking for granted that all categories are locally small?

*Are there any good motivations for this definition?


I heard something about it being symmetric, I am not sure what it means though. Why is it ?better? than the definition in terms of units and counits?
 A: I don't think the hom-set definition has the problems you mention, although it still makes sense to ask why that and not something else.
The reason why size issues aren't a problem here is that the author will either take your option 2 (as many do), or, if they really need categories that aren't locally small, they will have a way (eg. universes) of dealing with homs in them. Simply not being able to talk about the hom functor for some categories doesn't seem to be an acceptable state of affairs to me.
That said, there are three sensible definitions of adjointness, which I won't repeat since they are already described well on Wikipedia, I will only comment on their respective advantages. (Keep in mind that the following is inevitably somewhat subjective). 
The hom-set definition is in many cases the most intuitive one, and conceptually the simplest.
Every mathematician knows that functions $X × Y → Z$ are the same thing as functions $X → Z^Y$, while only a minority knows what does it mean to coevaluate something.
The unit-counit definition is a bit formal and probably the least intuitive for beginners, but it's very useful for calculation. I would also say it's the most fundamental one, because it generalizes readily to bicategories, where the other two don't even make sense.
The one with a collection of universal morphisms is minimal, which makes it useful for checking adjointness, and it's reason the general and special adjoint functor theorems work. It's also very intuitive for free objects and similar cases. On the other hand, this definition isn't symmetric, and it looks more like a lemma ("this data suffices to construct an adjunction"), than a definition.
In the end it makes no sense to ask what the definition is. If you want to work with adjunctions, you need to be comfortable with all of the data and properties above.
You can even avoid choosing between the three by starting with a lemma ("the following are equivalent") and then say that an adjunction is anything and everything of the above.
But if you have to pick one for a textbook, then based on the above, the hom-set definition does seem to be the best choice.
