2 added 14 characters in body

My opinion is that if you want intuition then try a direct approach. Think of (sections of) (pre-)sheaves as functions on a space defined locally. Then if you want your functions to satisfy some reasonable conditions, then you are naturally led to the sheaf properties.

There are two ways a pre-sheaf can fail to be a sheaf, both seem reasonable expectations from a function:

1) One would reasonably expect that the only function that is locally $0$ is the zero function.

2) One would also reasonably expect that knowing the definition of a function locally, i.e., on an open cover means knowing the function everywhere (i.e., on any open set).

Now if your presheaf satisfies (the precise versions of) these conditions, then it is a sheaf.

If you prefer, you can translate these statements to category language, but I am not sure that will give you more than the definitions you already have. :)

1

My opinion is that if you want intuition then try a direct approach. Think of (pre-)sheaves as functions on a space defined locally. Then if you want your functions to satisfy some reasonable conditions, then you are naturally led to the sheaf properties.

There are two ways a pre-sheaf can fail to be a sheaf, both seem reasonable expectations from a function:

1) One would reasonably expect that the only function that is locally $0$ is the zero function.

2) One would also reasonably expect that knowing the definition of a function locally, i.e., on an open cover means knowing the function everywhere (i.e., on any open set).

Now if your presheaf satisfies (the precise versions of) these conditions, then it is a sheaf.

If you prefer, you can translate these statements to category language, but I am not sure that will give you more than the definitions you already have. :)