What is the most motivating way to introduce general inner product spaces? I am looking for examples which have a real impact. For Euclidean spaces we relate the dot product to the angle between the vectors which most people find tangible. How can we extend this idea to the inner product of general vectors spaces such as the set of matrices, polynomials, functions?
One of the uses for inner products is to give an identification between the space and its dual. If the space is finite-dimensional then this is an isomorphism, otherwise it gives an injection $E \rightarrow E^*$. Indeed suppose you are given a non-degenerate bilinear form $(,)$. Then for $x \in E$ set $x^* = (y \mapsto (x,y)) \in E^*$. This provides an injective linear mapping.
In particular, this gives a practical way to compute "coordinates", which is basically what Giuseppe Negro was saying. Once you've found an orthonormal basis (or, for example in the Hilbert case a hilbert basis), it suffices to compute the products with elements of the basis to find coordinates, which is not as easy in the general case.
As mentioned in the comments it's hard to go wrong with Fourier Polynomials.
But there are all sorts of special polynomials (with applications galore) which are (or at least can be) defined in terms of orthogonality...for example: Laguerre polynomials, Hermite polynomial, and Chebyshev polynomials.