Why do we impose conditions on the modules in resolutions? For Tor and Ext of some R-module, we compute them from injective/projective resolutions. Between the two books I have available to refer to (Rotman's text and Osborne's Basic Homological Algebra), only Rotman goes on to explain we should think of resolutions as a "generalised presentation" of a module, and that's about it.
So I'm left with a few questions (listed in order of importance). Given we are looking for a resolution:
1) Why would we want to specify that every module in it is projective? (resp. injective, flat, etc.). In particular, why is this desirable/necessary over an exact sequence of modules of any type?
2) Why does it matter which is used to compute Tor and Ext? I see that we 'should' use a projective resolution for Tor, but what exactly is wrong with using an injective resolution, and computing cohomology instead? This question and answer describes the "rule of thumb" without any explanation (which is what I'd hoped to find there!). 
3) Why do we remove the given the projective resolution $P^\bullet \rightarrow M\rightarrow 0$, after applying $\text{Hom}_R(G,-)$ for instance, why do we leave out $\text{Hom}_R(G,M)$ from the end? Rotman says that in the "deleted projective resolution" deleting $M$ loses no information - if it doesn't accomplish anything, why bother? 
 A: When computing Tor, you want to resolve your module with flat modules, because the tensor product is exact when using flat modules. (Of course projective implies flat, so projective resolutions work, too.) The reason is, $\mathrm{Tor}^R_i(M,-)$ is measuring the failure of the tensor product $M \otimes_R -$ to be exact. If $M$ were flat, it would be exact, so $\mathrm{Tor}_i$ would be zero for all $i>0$. If not, well, if you resolved $M$ by modules $T_i$ which were not flat and tried to compute Tor by computing the homology of the chain complex with terms $T_i \otimes_R N$, the failure of $T_i$ to be flat would cause side effects, so the resulting homology groups would be badly behaved. And by badly behaved, I mean that they would depend on the choice of resolution: if you use any flat resolution, you will get the same answer — Tor is well-defined — but if you use other resolutions, the resulting (co)homology groups would depend on the resolution. This is precisely because tensoring with a flat module is exact.
For the same reason, if you want to compute Ext, since $\mathrm{Hom}_R(P, -)$ is exact if $P$ is projective, you can use a projective resolution of the source. Since $\mathrm{Hom}_R(-, J)$ is exact if $J$ is injective, you can use an injective resolution of the target. Using other types of resolutions will give answers which depend on the resolution.
