why would you use lambda calculus over other forms of function notation? What does "$\lambda x.x$" offer that "$f(x)=x$" can't cover? More generally, when would we want to represent a function through lambda calculus over another form of function notation?
 A: Lambda calculus is a computational model not a formalism for functions. It's not that one notation can do something the other can't, it's that they are used to describe two completely different things. Functions are mathematical entities commonly defined as a certain kind of relation between two sets. The notation used for functions is typically $f\colon A\to B$ and we write things like $f(x)$. Lambda terms are typographical entities described recursively by the lambda calculus definitions. Lambda terms can act on other lambda terms. The notation $\lambda x.x$ is a lambda term, it is just notation equivalent to $f(x)=x$. There are plenty of introductory texts on the lambda calculus and you'll see that if you read only the first few pages, your question here will dissolve.
A: Lambda calculus offers anonymous functions, specifically functions that don't have to have a name. 
This offers options like $\beta$ reduction which is part of the calculus part of lambda calculus. This turns a curious variation in notation into a model of computation, and allows impredictive function abstraction, which gives you a Turing complete models of computation in the untyped lambda calculus. With the typed lambda calculus you can use this anonymous function abstraction and function application to construct things like logical connectives and quantifiers. Without anonymous functions, you have to set up more syntax to define recursive and impredictive definitions, so lambda calculus is the path of least resistance for this sort of thing.
