AFAIK, dependent elimination was introduced by Coquand in '92, under the name "dependent pattern matching", in the paper Pattern Matching with Dependent Types
Famously implemented in the Agda system, the main idea (and difference with, say, the default matching in Coq) is that there is additional information added in the right hand side of a case definition: say if you have
datatype Fin : nat -> Type = Zero : Fin (S 0) | Succ : forall k, Fin k -> Fin (S k)
f : forall n, Fin n -> nat
f _ Zero = ???
f _ (Succ f) = ???
Then in the first ???, you "know" the equation n = S 0 and in the second ??? you know n = S k, which in turn can allow you to typecheck some terms that would otherwise be ill-typed. Indeed, if there is no possible well-typed right hand side (say if you knew n = 0) then you wouldn't even need to write that case!
It turns out that to recover the entire power of this kind of pattern matching, it suffices to add the axiom K (which roughly states that every proof of x = x is refl) as described in Goguen, McBride and McKinna Eliminating Dependent Pattern Matching. Coquand had previously noticed that K is provable in the presence of dependent pattern matching, so the two are roughly equivalent (up to some computational rules).
Large elimination is the ability to eliminate to Type, e.g. defining f 0 = Bool, f (S n) = Nat -> f n. One can notice that this enables proving $0 \not = 1$, e.g. by defining f 0 = False and f (S _) = True and doing some simple rewriting. In a system like Coq, it is otherwise impossible to prove such a simple fact! Not sure who first noticed this.