In defining sheaf cohomology (say in Hartshorne), a common approach seems to be defining the cohomology functors as derived functors. Is there any conceptual reason for injective resolution to come into play? It is very confusing and awkward to me that why taking injective stuff into consideration would allow you to "extend" a left exact functor.
Algebraic Geometry – Sheaf Cohomology and Injective Resolutions
ag.algebraic-geometrybig-picturehomological-algebrasheaf-cohomologysheaf-theory
Related Solutions
Dear Victoria: here is a summary of the main comparison results I know of between Grothendieck cohomology (which is usually just called cohomology and written $\newcommand{\F}{\mathcal F}H^i(X,\F)$ ) and other cohomologies.
1) If $X$ is locally contractible then the cohomology of a constant sheaf coincides with singular cohomology. [This is Eric's answer, but there is no need for his hypothesis that open subsets be acyclic]
2) Cartan's theorem: Given a topological space $X$ and a sheaf $\F$, assume there exists a basis of open sets $\mathcal{U}$, stable under finite intersections, such that the CECH cohomology groups for the sheaf $\F$ are trivial (in positive dimension) for every open $U$ in the basis: $H^i(U,\F)=0$ Then the Cech cohomology of $\F$ on $X$ coincides with (Grothendieck) cohomology
3) Leray's Theorem: Given a topological space $X$ and a sheaf $\F$, assume that for some covering $(U_i)$ of $X$ we know that the (Grothendieck!) cohomology in positive dimensions of $\F$ vanishes on every finite intersection of the $U_i$'s. Then the cohomology of $\F$ is already calculated by the Cech cohomology OF THE COVERING $(U_i)$: no need to pass to the inductive limit on all covers. This contains Dinakar's favourite example of a quasi-coherent sheaf on a separated scheme covered by affines.
4) If $X$ is paracompact and Hausdorff, Cech cohomology coincides with Grothendieck cohomology for ALL SHEAVES
If you think this is too nice to be true, you can check Théorème 5.10.1 in Godement's book cited below
[So Eric's remark that no matter how nice the space is, Cech cohomology would probably not coincide with derived functor cohomology for arbitrary sheaves turns out to be too pessimistic]
5) Cohomology can be calculated by taking sections of any acyclic resolution of the studied sheaf: you don't need to take an injective resolution. This contains De Rham's theorem that singular cohomology can be calculated with differential forms on manifolds.
6) If you study sheaves of non-abelian groups, Cech cohomology is convenient: for example vector bundles on $X$ ( a topological space or manifold or scheme or...) are parametrized by $H^1(X, GL_r)$. I don't know if there is a description of sheaf cohomology for non-abelian sheaves in the derived functor style.
Good references are
a) A classic: Godement, Théorie des faisceaux (in French, alas)
b) S.Ramanan, Global Calculus,AMS graduate Studies in Mahematics, volume 65. (An amazingly lucid book, in the best Indian tradition.)
c) Torsten Wedhorn's quite detailed on-line notes, which prove 1) above (Theorem 9.16, p.92) and much, much more.
By the way, @Wedhorn is one of the two authors of a great book on algebraic geometry.
d) Ciboratu, Proposition 2.1 and Voisin's Hodge Theory and Complex Algebraic Geometry I, Theorem 4.47, page 109 , which both also prove 1) above.
Cosheaves are indeed mysterious gadgets. On the one hand, cosheaves are everywhere, but on the other hand, someone used to thinking sheaf-theoretically may have some problems. I am very close to finishing an exposition on cosheaves, but need another week or so to put it on the arxiv. Bredon's book on sheaf theory has the most complete reference on cosheaves, so you might look there if you like.
AS you may know, pre-cosheaves are just covariant functors $\hat{F}:\mathrm{Open}(X)\to\mathcal{D}$ where $\mathcal{D}$ is some "data category" like Vect, Ab, or what have you. Cosheaves send covers (closed under intersection) to colimits and different covers of the same open set get sent to isomorphic colimits. The Mayer-Vietoris axiom is a good way of thinking about cosheaves and since homology commutes with direct limits, one can see that $H_0(-,k)$ is always a cosheaf. In particular, $H_0(-,\mathcal{L})$ is a cosheaf whenever $\mathcal{L}$ is a local system.
As you observed, since cosheaves are fundamentally colimit-y, they have left-derived functors rather than right-derived ones. Thus the answer to (1) is yes.
In regards to (2), one must be careful. I believe the answer is yes, but allow me to pontificate on the problem.
Filtered limits and finite colimits do not commute in most categories like Ab, Vect, or Set. This has serious ramifications through the theory of cosheaves.
For example, it is not necessarily true that a sequence of cosheaves is exact iff it is exact on costalks. Here costalks are defined using (filtered) inverse limits rather than direct ones.
Another very serious consequence is that Grothendieck's sheafification procedure cannot be dualized to give cosheafification. Thus the usual phrase
"let blah by the cosheaf associated to the pre-cosheaf blah"
is not necessarily well-founded because it is unclear how to cosheafify! People have solved this problem in the past by working with pro-objects (which corrects for this "filtered limits not commuting with finite colimits" asymmetry) and then they use Grothendieck's construction. However, for abstract categorical reasons one can check that cosheafification does exist for data categories like Vect (i have worked out a proof and haven't found in the literature anyone who claims to have proved this), we just don't have an explicit construction. That said, the usual description of the left-derived functor of the push-forward should still hold.
On the other hand, if one works in the constructible setting, one can get the statements you would like. In particular, it is true that cosheaves constructible with respect to a cell structure are derived equivalent to sheaves constructible with respect to the same cell structure. I discovered independently my own proof, only to find that at least two other people have proved this before. However, in my opinion, the equivalence is the "correct" form of Verdier duality. A larger and updated exposition should be available soon.
Best Answer
Since everybody else is throwing derived categories at you, let me take another approach and give a more lowbrow explanation of how you might have come up with the idea of using injectives. I'll take for granted that you want to associate to each object (sheaf) $F$ a bunch of abelian groups $H^i(F)$ with $H^0(F)=\Gamma(F)$, and that you want a short exact sequence of objects to yield a long exact sequence in cohomology.
I also want one more assumption, which I hope you find reasonable: if $F$ is an object such that for any short exact sequence $0\to F\to G\to H\to 0$ the sequence $0\to \Gamma(F)\to \Gamma(G)\to \Gamma(H)\to 0$ is exact, then $H^{i}(F)=0$ for $i>0$. This roughly says that $H^{i}$ is zero unless it's forced to be non-zero by a long exact sequence (you might be able to run this argument only using this for $i=1$, but I'm not sure). Note that this implies that injective objects have trivial $H^{i}$ since any short exact sequence with $F$ injective splits.
Now suppose I come across an object $F$ that I'd like to compute the cohomology of. I already know that $H^{0}(F)=\Gamma(F)$, but how can I compute any higher cohomology groups? I can embed $F$ into an injective object $I^{0}$, giving me the exact sequence $0\to F\to I^{0}\to K^{1}\to 0$. The long exact sequence in cohomology gives me the exact sequence $$0\to \Gamma(F)\to \Gamma(I^{0})\to \Gamma(K^{1})\to H^{1}(F)\to 0 = H^1(I^{0})$$
That's pretty good; it tells us that $H^{1}(F)= \Gamma(K^{1})/\mathrm{im}(\Gamma(I^{0}))$, so we've computed $H^{1}(F)$ using only global sections of some other sheaves. We'll come back to this, but let's make some other observations first.
The other thing you learn from the long exact sequence associated to the short exact sequence $0\to F\to I^{0}\to K^{1}\to 0$ is that for $i>0$, you have $$H^{i}(I^{0}) = 0\to H^{i}(K^{1})\to H^{i+1}(F)\to 0 = H^{i+1}(I^{0})$$
This is great! It tells you that $H^{i+1}(F)=H^{i}(K^{1})$. So if you've already figured out how to compute $i$-th cohomology groups, you can compute $(i+1)$-th cohomology groups! So we can proceed by induction to calculate all the cohomology groups of $F$.
Concretely, to compute $H^{2}(F)$, you'd have to compute $H^{1}(K^{1})$. How do you do that? You choose an embedding into an injective object $I^{1}$ and consider the long exact sequence associated to the short exact sequence $0\to K^{1}\to I^{1}\to K^{2}\to 0$ and repeat the argument in the third paragraph.
Notice that when you proceed inductively, you construct the injective resolution $$0\to F\to I^{0}\to I^{1}\to I^{2}\to\cdots$$ so that the cokernel of the map $I^{i-1}\to I^{i}$ (which is equal to the kernel of the map $I^{i}\to I^{i+1}$) is $K^{i}$. If you like, you can define $K^{0}=F$. Now by induction you get that $$H^{i}(F) = H^{i-1}(K^{1}) = H^{i-2}(K^{2}) = \cdots = H^{1}(K^{i-1}) = \Gamma(K^{i})/\mathrm{im}(\Gamma(I^{i-1})).$$
Since $\Gamma$ is left exact and the sequence $0\to K^{i}\to I^{i}\to I^{i+1}$ is exact, you have that $\Gamma(K^{i})$ is equal to the kernel of the map $\Gamma(I^{i})\to \Gamma(I^{i+1})$. That is, we've shown that $$H^{i}(F) = \ker[\Gamma(I^{i})\to \Gamma(I^{i+1})]/\mathrm{im}[\Gamma(I^{i-1})\to \Gamma(I^{i})].$$
Whew! That was kind of long, but we've shown that if you make a few reasonable assumptions, some easy observations, and then follow your nose, you come up with injective resolutions as a way to compute cohomology.