I know (at least) two definitions of categorical limits. The setting is always as follows. Let $F:J\rightarrow C$ be a functor between not necessarily small nor locally small categories.
For the first definition, denote by $\Delta: C\rightarrow C^J$ the diagonal functor that sends an object $c\in C$ to the composite $\Delta(c): J\rightarrow \ast \rightarrow C$, where $\ast \rightarrow C$ maps the unique object in the terminal category $\ast$ to $c$. A morphism $f:c\rightarrow d$ is sent to the natural transformation $\Delta(c)\Rightarrow \Delta(d)$, which has $f$ as its components if $J$ is inhabited and is empty otherwise.
- A limit of $F$ is a (terminal) universal morphism from $\Delta$ to $F$, i.e. a terminal object in the comma category $(\Delta \downarrow F)$. (This could also be rephrased in less fancy language as 'a limit is a terminal object in the category of cones over $F$'.)
It seems to me that in this definition one does not have to impose any size restrictions on $C$ nor $J$, correct?
Another definition is:
- Assume that $J$ is (essentially) small and that $C$ is locally small. Consider the functor $\operatorname{Cone}(-,F): C^{op}\rightarrow Set$ which sends an object $c$ to its set of cones. A limit of $F$ is a representation of this functor (i.e. a representing object $l_F$ together with a choice of natural isomorphism $\operatorname{Cone}(-,F)\cong \operatorname{Hom}(l_F,-)$).
Here we require that $J$ is (essentially) small and that $C$ is locally small so that $\operatorname{Cone}(-,F)$ is $Set$-valued, right? So that we can speak about representable functors, right?
Are there any other reasons why some authors consider limits only over an (essentially) small indexing category and a locally small target category? What are the respective advantages/disadvantages of the two definitions of a limit I gave? Why would one even have the second definition if it is less general than the first?
Nearly every category that arises in practice is locally small, so that restriction is basically harmless. Personally for me "category" means "locally small category."
Local smallness is required for the Yoneda embedding to exist, and probably a bunch of other stuff.
There is a theorem due to Freyd: if a category $C$ has all large limits or all large colimits then it is a preorder. So large limits and colimits are rare and we restrict our attention to small limits and colimits, e.g. in the definition of a complete or cocomplete category we only ask for small limits and colimits. This has important implications, e.g. it is responsible for the size conditions in the adjoint functor theorem.
Generally there are several different equivalent ways to think about limits and colimits and different ones are valuable in different situations. There's no reason to throw any one of them out. I personally prefer to think in terms of representing functors most of the time, but also sometimes in terms of adjunctions, and almost never in terms of cones or cocones, but others will have different tastes.
For lots more on the size issues you can consult Mike Shulman's Set theory for category theory. Note that in the statement and proof of the adjoint functor theorem there, local smallness is crucial because one needs to form a product indexed by a homset.