What is the purpose of the SKI combinator calculus(or even lambda calculus)? What are some real life examples of its use?
The obvious application of the lambda calculus is any functional programming language (e.g., Lisp, ML, Haskell), and any language that supports anonymous functions.

As for combinator calculus, does there have to be a "real-world application"?  Turing machines, for example, are hardly ever used "in the real world" but they form the basis of the theory of computation.  One useful feature of combinator calculi is that they're simpler systems than, e.g., Turing machines. If you want to prove that some other system is Turing-complete, it might be easier to show how it can simulate combinators than to show it can simulate a Turing machine.