What are derived functors for? This question may have been asked before, but I haven't found any that has a suitable answer for me. 
I took a course of homological algebra this semester. We studied modules, category theory, and the definition of complexes and homology. We then rapidly saw the simplicial homology, to have a concrete example of the usefulness of homology. 
But at the end of the course, we saw projective, injective and flat objects, and then the definition of derived functors, with the unavoidable examples of Ext and Tor. 
But there is one thing that we haven't seen: why are the functors Ext, Tor and derived functors in general important? I mean, they kind of correct the non-exactness of the functors Hom and $\otimes$, but when is this fact useful in practice? Are they other properties that are useful? 
I am a graduate student in a department of mostly algebraists/combinatorists, so I only know the very basics of topology. And after that course of algebraic homology, it seems to me that I only learned the tools, not what those tools are for, so I don't understand why I studied derived functors, and I'd like to know!
Thanks in advance!
 A: *

*in algebraic topology you have the universal coefficent theorem, which allows you to calculate the (co)homology of topological spaces with coefficents in some group, given that you already know the result for $\mathbb{Z}$.

*in algebraic geometry sheaf cohomology is of big interest and an important tool to understand varieties better. The explicit setting is that the global sections functor of a sheaf is left, but not right exact. This is one example from complex geometry on how the functor fails to be right exact and what important consequences it might have. So you can construct its left derived functor and cohomology. Furthermore in "nice" cases these cohomology groups can be calculated via "nice" resolutions (Čech complex)

A: Derived Functors give homology and cohomology. This is very useful in practice, because it also gives tools to determine then (co)homology groups explicitly, e.g., via some resolution. You have already mentioned Tor, which gives homology, and Ext, which gives cohomology. A particular example is group (co)homology, with coefficients in modules.
A: Suppose you have a functor from category $$A \to B$$, and suppose you have a short exact seq in A. Then the image of the seq maynot be exact. Suppose you know the image of two consecutive objects and you want to calculate the image of the third object using the images two objects, it is not possible as such, because you will have kernels or Cokernels as the case maybe, which you don't know. But it turns out that there are some standard constructions from the given objects, which when added to the image sequence gives a long (maybe infinite) exact sequence. The constructions are Infact independent of that particular sequence, but are functors from A to B. These functors are derived functors of the initial functor. If you want an analogy. Consider a function from $$\mathbb R \to \mathbb R$$. Supoose b=a+h. Then f(b) =f(a) + Df(a)h +....  You can suppose f is like a functor, points in R are like objects. If b is related to a as b=a+h, then to write fb in terms of a and h, f is not enough, you need additional functions Df, DDf,... etc. And you can see this relationship is independent of a, b, h. Rather f, Df, DDf are functions on R.
