In most literature, when you try to look for the definition of sheaves you will see the usual definition for presheaves as a functor from a topological space (or from a Grothendieck topology) to some category and then sheaves would require this category to be complete and you have some exactness/equalizer condition.

But then for some categories there is another equivalent definition. You are defined a "protosheaf" (there are various names for these creatures), a sheaf space, a base space, a local homeomorphism between the sheaf space and the base space, you are even already defined a stalk.. but this definition seems not to be very abstract in the category-theoretical point of view as I only see this kind of definition for very specific categories (for instance in the category of groups or rings, you want the addition operation defined on the fiber product of the sheaf space over the base space to be continuous). What is the equivalent category theoretical way of defining a sheaf using this method? In which cases does this definition give us a more psychological advantage than the aforementioned one? I have personally found the former definition more advantageous in my practice, but there are some mathematical practices by which the latter definition might be more useful.