What is sheaf cohomology intuitively? What is sheaf cohomology intuitively? 
For local systems it is ordinary cohomology with twisted coefficients. But what 
if the sheaf in question is far from being constant? 
Can one still understand sheaf cohomology in some "geometric" way?
For example I would be very interested in the case of coherent $\mathcal{O}_X$-Modules. 
Or even just line bundles.
 A: A sheaf $\mathcal{F}$ on a topological space $X$ is the same as a local homeomorphism into $X$: Starting with the sheaf you take the disjoint union of the stalks and put on it the topology generated by the sets $[U,f]:=$ {$f_x \in \mathcal{F}_x \mid x \in U$} where $U$ ranges over all open sets of $X$, $f \in \mathcal{F}(U)$ and $f_x$ denotes the image of $f$ in the stalk. This is called the "espace etalé" of the sheaf. The map which maps stalks to "their" point is a local homeomorphism.
On the other hand you can get back a sheaf from a local homeomorphism $E \rightarrow X$ by taking as the value on the open set $U$ the sections $U \rightarrow E$ of the given map. This defines an equivalence of categories. 
So a way to see sheaf cohomology geometrically is to make the sheafs into geometric objects this way - then we have both schemes and sheaves living in the same environment and see that sheaf theory is about maps from schemes to sheaves.
Now an intuition about cohomology is that it measures how many more sections you gain when you go more local. To get into a framework where you can adequately treat this going local, you can pass to the category of simplicial sheaves over schemes and there introduce an adequate notion of when a map is an equivalence: A simplicial object is a sequence of objects connected by a bunch of maps; the example to care about at the moment is that of the nerve of a cover: Given a cover $\coprod U_i \rightarrow X$ you can produce such a sequence of objects by putting $\coprod U_i$ at level zero, the pairwise intersections of the $U_i$ at level 1, the triple intersections at level 2 and so on. Another example is to just put the same $X$ into each level -the notion of equivalence is such that these two simplicial objects are equivalent in our new category. Homming out of one is the same as homming out of the other one, up to equivalence, but there is a sense in which the intersection object is the right one to take ("it is cofibrant"), rather than $X$. 
Now the different levels in the Cech complex arise from mapping out of each level of the nerve. Roughly, taking the $i$th cohomology then tells you how many of the compatible sections (compatible meaning if you pass to the next stage of intersection) at the $i$th stage already were there at the $i-1$st stage.
*Edit*I'll be a little more explicit about this: We have the sequence of intersections of the objects in a covering
$$\coprod U_i \Leftarrow \coprod U_i \cap U_j \Lleftarrow \coprod U_i \cap U_j \cap U_k \ldots$$
Here the two maps into the zeroth stage are those who include $U_i \cap U_j$ into $U_i$, $U_j$ respectively, the three maps into the first stage are those who leave away the $i$, resp. $j$, resp. $k$ part etc. Now map from this whole arrangement into a sheaf of abelian groups (i.e. apply the sheaf to all these objects and arrows). Mapping out of a disjoint union (coproduct) is the same as giving a bunch of maps, one from each constituent of the coproduct, so $\mathcal{F}(\coprod U_i)=\prod \mathcal{F}(U_i)$. Since the values of $\mathcal{F}$ are abelian groups we can take alternating sums of parallel arrows and thus get a diagram 
$$\prod \mathcal{F}(U_i) \rightarrow \prod \mathcal{F}(U_i \cap U_j) \rightarrow \prod \mathcal{F}(U_i \cap U_j) \rightarrow \ldots$$
This is a complex and it's cohomology is what we are talking about. $(x_i) \in \prod \mathcal{F}(U_i)$ being in the kernel of the first morphism means that the difference of the two restriction maps is zero, i.e. the restrictions to the overlaps $x_i \mid _{U_i \cap U_j}$ and $x_i \mid _{U_i \cap U_j}$ are the same, i.e. since $\mathcal{F}$ is a sheaf they glue to something defined on all of $X$. This is why the zeroth cohomology of the complex (which is just the kernel, since there is no incoming map) are the gobal sections of the sheaf.
But when we took just the kernel out of $\prod \mathcal{F}(U_i)$, thus separating the compatible systems, how many *in*compatible systems did we throw away? Answering this would tell us how many more sections we get locally as opposed to globally (with respect to this chosen cover). 
Any family of sections defined on the $U_i$, $(x_{i}) \in \prod \mathcal{F}(U_i)$, gives us a family in the double intersections $(x_{ij}:=x_i \mid _{U_i \cap U_j} - x_j \mid _{U_i \cap U_j}) \in \prod \mathcal{F}(U_i \cap U_j)$. Moreover, if our family was compatible, this is the zero family, by definition of compatible! So it is a good idea to study the families of sections on the $U_i$ via the families of sections on the $U_i \cap U_j$ that they induce - this way we get rid of the global sections and get exactly the difference we are interested in.
But how can we characterize the families $x_{ij} \in \prod \mathcal{F}(U_i \cap U_j)$ which come from families on the $U_i$ ? Well, these satisfy the "cocycle condition" $x_{ij} \mid_{ijk} - x_{ik} \mid_{ijk} + x_{jk} \mid_{ijk}$ - you see it by substituting $x_{ij}=x_i-x_j$ etc. - this is the same as being in the kernel of the second map in the complex. Let's call a family satisfying this a matching 2-family (2 because of the double intersections) and call the collection of them $m2Fam$ (likewise $2Fam$ for the collection of all 2-families). Being a matching 2-family is however not sufficient for coming from a 1-family; there are "exotic" matching 2-families not arising in this way - to see how many we can take the quotient of all matching 2-families by those coming from 1-families. This is $H^1$. It is an error term to our tentative calculation of the difference between global sections and sections on the covering in terms of matching 2-families.
Writing now very loosely equations for these collections (e.g. "$1Fam - 0Fam$" meaning the collection of 1-families without that 0-families, "=" meaning "is parametrized by" or whatever),
we have $1Fam - 0Fam = m2Fam - H^1$ because we more or less "defined" $H^1:=m2Fam - (1Fam - 0Fam)=m2Fam - (1Fam - m1Fam)$ (the latter because $m1Fam=0Fam$).
Likewise if we want to know how many 2-families are there which were not already there as 1-families (i.e. if we want to determine $2Fam - 1Fam$), it seems a good idea to display 2-families as matching 3-families because the 1-families will be killed in the translation process. However not all matching 3-families arise in this way; we get $H^2=m3Fam - (2Fam - 1Fam)$ and so on - $H^n=m(n+1)Fam - (nFam - (n-1)Fam)$.
It also is instructive to remember that before comparing $2Fam$ and "its subcollection" $1Fam$ we have to map $1Fam$ into $2Fam$ and in the process the subcollection $0Fam$ of $1Fam$ gets killed and $1Fam$ becomes $(1Fam - 0Fam)$. So actually we want are talking about $2Fam - (1Fam - 0Fam)$. Doing this small rectification recursively in the formula $H^n=m(n+1)Fam - (nFam - (n-1)Fam)$ gives you a bunch of differences in nested parentheses and makes the alternating sums appear which you know from the Euler characteristic... (end of edit)
I hope that was an intelligible first (edit: and second :-) approximation. The same picture is valid when you pass to cohomology over other sites - there you don't have the espace etalé but taking sections is still the same as mapping into the sheaf by the Yoneda lemma. You can read more about this and all the involved notions at the cohomology page of the nLab.
A: One way to think about $H^1(A)$ is to use the long exact sequence not as a property of cohomology, but outright as a definition.  That is, given an exact sequence of sheaves,
$$ 0\rightarrow A\rightarrow B\rightarrow C\rightarrow 0$$
then $H^1(A)$ is measuring the obstruction of global sections to be exact:
$$ 0\rightarrow \Gamma(A)\rightarrow \Gamma(B)\rightarrow \Gamma(C)\rightarrow H^1(A)$$
In words, $H^1$ is `measuring the failure of $\Gamma$ to preserve surjectivity'.
If you want this idea to actually define $H^1(A)$, you have to be careful to chose $B$ so that $H^1(B)=0$.  But, as far as intuition goes, this works pretty well for me.
A demonstrative example of this, at least for me, is to think about the the complex variety $\mathbb{P}^1$, with $\mathcal{O}$ the structure sheaf and $\mathbb{C}_p$ the skyscraper sheaf at a point.  Then there is a surjective map (it is surjective because it is surjective on stalks):
$$ \mathcal{O}\rightarrow\mathbb{C}_p$$
which has kernel $\mathcal{O}(-1)$, the twisted structure sheaf.  This whole short exact sequence can be twisted by $(-1)$, noting that twisting a skyscraper sheaf $\mathbb{C}_p$ gives an isomorphic sheaf $\mathbb{C}_p(-1)$ (which I identify with the original sheaf):
$$0\rightarrow \mathcal{O}(-2)\rightarrow \mathcal{O}(-1)\rightarrow \mathbb{C}_p\rightarrow 0$$
On global sections, we then get
$$ 0\rightarrow \Gamma(\mathcal{O}(-2))\rightarrow \Gamma(\mathcal{O}(-1))\rightarrow \Gamma(\mathbb{C}_p)\rightarrow H^1(\mathcal{O}(-2))$$
We know that $\Gamma(\mathcal{O}(-1))=0$ and $\Gamma(\mathbb{C}_p)=\mathbb{C}$, so the middle arrow is no longer surjective.  Hence, $H^1(\mathcal{O}(-2))$ must contain at least $\mathbb{C}$ (in fact, it is exactly $\mathbb{C}$, since $H^1(\mathcal{O}(-1))=0$).
Higher cohomology may be also thought of this way: $H^{i+1}$ measures the failure of $H^i$ to preserve surjective maps.  However, I don't find this very useful for thinking about higher cohomology, since it would need that I somehow understand lower cohomology much better.
A: I'm going to stick my neck out, rather than recycle some well-known phrases in sheaf theory. I suggest trying to answer this as two possibly simpler questions: 
1) What is the intuitive meaning of a short exact sequence of sheaves of abelian groups? Is it seriously deeper than the exponential sheaf sequence (http://en.wikipedia.org/wiki/Exponential_sheaf_sequence) with its formulation of things about the complex logarithm that for some of us are intuitive? 
2) Why did they invent cohomology all in a rush in the late 1930s, when homology theory took quite a while to come together as a theory? Wasn't it because the various different cocycle notions started to look more and more like aspects of a single type of "obstructiveness"? 
From a rather reductionist but hands-on perspective, if cohomology of coherent sheaves allows one to recover so many key discrete invariants in geometry, as dimensions of some things that are not a priori dimensions of vector spaces of sections but seem like perfectly good extensions of the idea of Betti number into other interesting fields, I wonder quite where the problem is.
Of course it has certainly been said before on MO that learning sheaf theory is still not that easy, absent le Godement nouveau. It could be that trying to understand the general sheaf that we are talking about is not the right way. (I can't say that I have much intuition even about the general abelian group.) It is not that disrespectful of homological algebra to consider it a computational device, and the very general stuff as some guarantee that its concepts do at least have some sort of (denotational) meaning. In other fields that is considered worthy. I can quite see that geometers feel that "geometry qua intuition" is the way to understand techniques; but Weil wasn't so sure.
A: First you should ask what is the intuition behind sheaves and there it is possibly best to think of local sections of a map to a base space. So now you have local sections and thinking back to ideas from complex analysis, you start trying to patch the local sections of a bundle together. (Think of patching charts on a manifold or local trivialisations of a vector bundle for instance.) You need to get transitions on from one local description to another. On triply overlaping patches you need a compatibility condition (cocycle condition) in order to make things work. What about quadruple intersections? That way you get the Cech sheaf cohomology idea quite naturally.  (If you want to go up a level of abstraction you can now try using a Grothendieck topology on a category, and the process is very similar.) The higher cohomology groups (for Abelian sheaves) detect obstructions to patching like this. (This is related to an earlier answer about obstructions to global sections but does not need the exact sequence of coefficients.)
The nice thing about thinking about this as measuring obstructions to patching local descriptions of things is that, with care, you can even do if for sheaves of groups, or algebras or complexes of things, or ... whatever! (<-within reason.:-))
So intuitively they measure obstructions to patching local things together.
The question mentions homology, but in fact cohomology is possibly even more geometric than homology.
A: This sounds like a cop-out, I know... what it is not very far from reality, at least in some contexts:
One is not really interested in the higher cohomology groups but only in the actual group of global sections, and higher cohomology groups' purpose in life is to allow us to do inductive proofs and other tricks like dimension shift.
