Importance of 'smallness' in a category, and functor categories I feel like, having spent a little time doing category theory now, this is probably a silly question, but I keep coming up to many things (definitions, examples etc.) where smallness is required. I continually fail to see why this is: I can see why smallness (or local smallness) is a useful property, but often not why it is necessary, assuming it is. 
For example, the following definition of the category of presheaves
http://ncatlab.org/nlab/show/category+of+presheaves
requires $\mathcal{C}$ to be a small category to define the functor category $[\mathcal{C}^{\text{ op}}, \bf{Set}]$. A number of exercises I've attempted, such as 
"Let $\mathcal{C}$ be a small category and A abelian. Show that the functor category $[\mathcal{C}, A]$ is abelian."
"Let $\mathcal{C}$ be a category such that, for each object $c$, the slice category $\mathcal{C}\,/c$ is equivalent to a small category, even though $\mathcal{C}$ may not be small. Show that the functor category $[\mathcal{C}^{\text{ op}}, \bf{Set}]$ is an elementary topos."
require smallness as an assumption. There are plenty of other examples which I can probably dredge up if needs be. It seems like generally a lot of these requirements somehow involve functor categories. Is there some much more basic definition (something extremely fundamental like functor or natural transformation) which requires a set rather than a class somewhere, which might be cropping up and causing all of these instances? Obviously for adjointness you require a bijection between morphisms $FA \to B$ and $A \to GB$, but although bijections are usually between sets I expect you can probably define one safely between classes too in a similar manner. 
I know the hom-functor requires $\mathcal{C}$ to be locally small before you can define the functor $\mathcal{C} \to \bf{Set}$, since of course the map wouldn't necessarily take things into $\bf{Set}$ otherwise, and this all spills over into the Yoneda lemma, but is that really the cause of all these smallness requirements? Often we're talking about a collection of all possible functors, rather than specifying just one, so is it generally just the case that when dealing with a functor we need a category to be sufficiently small so that we know we definitely get sets coming out the other side? Or is there more going on here that I've failed to notice? Why is smallness and local smallness frequently so important? The first exercise I suggested wasn't for functors mapping onto $\bf{Set}$, after all. 
Obviously you aren't going to know every single example of a time I've noticed a smallness assumption and to be honest I've probably forgotten many of them, but any general thoughts you could provide on the matter would be very well received. As a guide, I've completed a fairly in-depth first course in Category Theory and am currently undertaking one in Topos Theory, if that helps to gauge the level of complexity I'd probably have come across.
 A: My impression (as an outsider) is that the smallness assumptions are not considered to be important at all inside category theory itself. They are there only to make sure the results can be formalized in standard set theory, and don't encode any particular intuitive insight. In most (probably all) concrete applications of the results, it is easy to argue that all of the categories involved are small enough to make things work anyway.
Like dicatorships traditionally call themselves the Democratic Republic of $X$, because countries are generally expected to want to be democracies, category theorists dutifully keep track of their smallness assumptions, because mathematical disciplines are generally expected to want to be expressible in ZFC. But it's not as if any particular attention is paid to this internally.
A: Smallness conditions in category theory appear in several situations. One situation is to assure that certain constructions exist. This includes the most elementary cases of (as you mentioned) the forming of functor categories but also for the constructions of adjoints (i.e., the solution set condition in the Freyd adjoint functor theorem, with a huge emphasis here on the word 'set'). A more advanced application of a categorical construction involving set conditions is in homotopical algebra. Establishing a Quillen model structure can be very hard. It is simplified enormously (yet typically remains hard) to construct a Quillen model structure by means of a cofibrant generation. There one needs to provide sets (and not just classes) of certain arrows with certain properties. If these sets exists the model structure is guaranteed. If such classes of arrows are proper classes and not sets then a model structure is not guaranteed. 
Another aspect of smallness conditions is to assure that certain categorical conditions do not force degeneration. For instance, any category that admits all products, not just set indexed products, is known to be a poset. That is why one usually considers small complete (and small cocomplete) categories. 
To conclude, smallness in category theory plays a crucial role in different ways. For some of these aspects a tacit assumption of Grothendieck universes is sufficient to hide all the size issues under the carpet and happily go on with your business. In other situations size issues play a very important role that can't be 'pushed away to a higher universe'.  
