Elementary $\mathrm{Ext}^1$ intuition $\DeclareMathOperator{\Hom}{\operatorname{Hom}}\DeclareMathOperator{\Ext}{\operatorname{Ext}}$I am wondering what sort of basic basic intuitive meaning $\Ext^1(M,N)$ has.
As a base case: if $M$ and $N$ are say, (finite-dimensional) vector spaces (with a compatible group/algebra action), and $M$ and $N$ are indecomposable inequivalent (so $\Hom(M,N)={0}$), can I somehow conclude that $\Ext^1(M,N)$ is zero?
All I can get from Weibel/Wikipedia is that $\Ext^1(M,N)$ is a group under the Baer sum operation, and is in bijection with the set of solutions $X$ to the short exact sequence $0\to N\to X\to M\to 0$.  I don't know how to use this second meaning, but it seems the most hands-on.
Full disclosure: If this sounds like a homework exercise, it (almost) was -- past tense.  Although, the problem/text/instructor had no desire for use of $\Ext$ or $\Hom$, I just want to know how to use these functors (better).  I could give character references (even from some past Berkeley grads) to allay fears....
I would be happy to have a good reference to look this up myself.  I hear Rotman's first book was good, but I've only read negative responses to the new edition (and the old one isn't for sale anywhere I've seen), and Weibel is apparently too abstract for me, in some way.  I'll post a separate question for that, in fact.
 A: I think this question is a great example of how intuition and the ability to compute go hand in hand.  Thanks for asking!  Say we have modules M and N.  Here `to have' means to have a presentation as the cokernel of a map between free modules.  
F1' -> F1 -> N -> 0
F2'-> F2 -> M -> 0
where the F's are free. 
This is a really concrete way of describing the module.  Even a computer can understand!  And let's say we have a short exact sequence
0-> N -> R -> M -> 0 
(these are A-modules; R is not necessarily free).
It splits if there is a map from M to R such that composition back to M is the identity.  (apply Hom(M,-); the class of the identity in Hom(M,M) is in the image of Hom(M,R) -> Hom(M,M)).
Now a map M-> R is given by lifting the generators of M to elements of R.  (Previously, they were elements in the cokernel, i.e. equivalence classes modulo N.  a map M -> R picks representatives for these classes.)  The map M -> R lifts to F2-> R since F2 is free (hence projective).
We get a surjection from F1+F2 onto R by sending the gens of F1 to the gens of the submodule N, and sending the gens of F2 to the representatives for the equivalence classes we chose above.
Ask: What are the relations among this set of generators of R?
Case 1.  We were already given a presentation of R.
F3' -> F3 -> R -> 0.  
Then we write our new set of generators in terms of the already existing ones.  That is we have a map F1+F2 -> F3.  We want a presentation of the image of F1+F2 -> F3 in the quotient of F3' -> F3.  
So we have reduced the problem to one involving free modules.  there are standard algorithms to solve it.  for instance, in Macaulay2, the function subquotient() does the trick.
Case 2.  We do not have a presentation of R; we are in fact trying to come up with such an R.
Then we have freedom to define the relations ourselves.  We choose the relations among the representatives of the equivalence classes.  That is, for each generating relation among the gens of M, we choose an element of the submodule N.  In terms of free modules, we choose a map 
q: F2' -> F1+F2.  
Let p be the map from F1' to F1 defining N.  Then p+q: F1' + F2' -> F1+F2 is a presentation of R.  
The intuition is we're filling in the upper triangular part of the direct sum map.  We can put this in a snake diagram:
0->ker->ker->ker->0
0-> F1'-> F1'+F2' -> F2'-> 0
0-> F1 -> F1 +F2-> F2 -> 0
0-> N-> R -> M -> 0
Here the first two sequences split, and R is by definition the cokernel of the map F1'+F2' -> F1 + F2 we chose.
At this point we have presentations for all three terms in sequence  0-> N -> R -> M -> 0, and we have the maps between them in terms of free modules.  the next step is to investigate when the sequence splits.  
First note that the map q: F2' -> F1 + F2 is given by a map from F2'-> F1 and a map F2'-> F2.  The part F2'-> F2 is already determined for us.  The new part, the new upper triangular part we've filled in, is F2' -> F1.  (cf. the previous post:  our F2' -> F1 is his S to N).
Now if the image of F2' -> F1 is contained in the image of F1' -> F1, i.e. we chose elements in the span of the relations of N-- zero elements in N-- i.e. it lifts to F2 -> F1 (in the previous poster's language, it comes from a map R^G to N) then those elements are eliminated in the cokernel R.  (In terms of a basis, we can use the lower block to eliminate the upper-right block.)
So we want the image of F2'-> F1 to be nonzero in the quotient N.  Again, the subquotient() function in Macaulay2 comes to the rescue.  If R is a direct sum then the subquotient is zero.
Thank you again for asking!! I hope I have not made too many errors.
A: It is fruitful to think of Ext^1 as a generalization of Hom.  If A and B are objects of an abelian category, the set Hom(A,B) has the structure of an abelian group.  Here is one way to define the group law: any two maps A --> B induce a map A x A --> B x B.  This induces a sequence
A --> A x A --> B x B --> B

where the first map is the diagonal and the last is the codiagonal (the addition map).  The composition is the sum.  (What we are using here is that finite products and finite direct sums coincide in an abelian category; in fact, this can be taken as the definition of an abelian category.)
We have used three properties of Hom to construct the addition map: Hom is covariant in the second variable, contravariant in the first, and comes with a canonical map 
Hom(A,B) x Hom(A',B') --> Hom(A x A', B x B')

(plus some compatibilities which I have suppressed).  If we define Ext^1(A,B) to be the category of extensions 
0 --> B --> E --> A --> 0

we see that it also has these properties (using base change for the variable A and pushout for the variable B).  Thus we get a group law on the category Ext^1(A,B).  Passing to isomorphism classes gives the usual group law on the set Ext^1(A,B).
The zero object of Ext^1(A,B) also corresponds nicely to the zero object of Hom(A,B).  In the latter case it is constructed by pushing forward the unique map A --> 0 via the unique map 0 --> B.  For Ext^1(A,B), we push forward the unique extension of A by 0 
0 --> 0 --> A --> A --> 0

by the unique map 0 --> B and get
0 --> B --> B x A --> A --> 0.

So an extension of A by B is zero if and only if it admits a splitting.  Thus in the category of vector spaces over a field, Ext^1(A,B) is always zero because can always be split.
A: It seems like you already can see this, but $Ext^1(M,N)$ is measuring all the ways to form distinct short exact sequences $0\to N\to ?\to M\to 0$
If you are looking for intuition, what you should do is think about picking a set of generators $G$ for $M$.  This is equivalent to choosing a surjection from the free module $R^G \to M$, whose kernel is the 1st syzygy module S (which you should think of as relations between the generators).  Then $Ext^1(M,N)$ is going to be all the maps from $S$ to $N$, modulo those which come from a map $R^G \to N$.  Therefore, $Ext^1$ is something like all the ways of assigning an element in $N$ to every relation between generators in $M$, modulo dumb ways of doing this assignment (those coming from sending generators to $N$).  This perspective can make it easy to guess what $Ext^1$ should be.
