Here is a question somebody asked today which used to be answered in an older version of the stacks project, but which got excised a while ago.
The question is: How different are the notions of a stack in groupoids and a sheaf of groupoids?
The answer is that there are 2 differences. The first is a minor one: Although every stack in groupoids is equivalent to a split category fibred in groupoids, it is not always isomorphic to one. Here a split category fibred in groupoids over a category is the category associated to a contravariant functor from the category into the category of groupoids. Of course such a functor is nothing else than a presheaf F of groupoids on the site.
The second difference is more serious. Namely, when you say that F is a sheaf, then apart from the requirement that morphisms descend you are only requiring that descent data for objects are effective for a somewhat restrictive class of descent data. In fact you are only requiring that if x_i are objects of the split fibred category over the members U_i of the covering, and if the restrictions x_i|_{U_i \times_U U_j} and x_j|_{U_i \times_U U_j} are equal then this should be effective. Clearly this is different from the requirement that all descent data are effective.
The “explanation” of this in the earlier version of the stacks project is that the category F(U) should be the homotopy limit of the diagram
\prod F(U_i) ==> \prod F(U_i \times_U U_j) ==> \prod F(U_i \times_U U_j \times U_k) …
and not the usual limit. And of course this is a nice way of saying it since it leads to possible generalizations such as higher stacks.