Observer and Observability
Observability
A system is said to be observable if for every vector xd in Rn there is a finite time T and a command u in [0,T] such that if x(0)=xd and one applies u, the knowledge of the trajectory on y during the time interval [0,T] allows one to determine xd.
That’s a bit of a mouthful. Effectively what it means is that a system is observable if, by knowing the controls leading up to a state and knowing that outputs of that state, you can backtrack to find the original state, or apply the equations to predict where the system will be in the future.
Mathematically, it’s can be very easy to tell if a system is observable. Let’s take a classic system,

This system is observable if and only if (iff) the observability matrix:
is of rank n.
Observer
An observer is a mathematical construct such that one can reconstruct the entire state based on the current outputs. One common family of observer is the linear asymptotic observer, a model of the form:

The Kalman filter falls into this family of Luenberger observers. However, Kalman is not the only observer that satisfies this equation. Indeed, any matrix L that places the eigenvalues of (A-LC) in such a way that it converges is of this family.
Kalman is nice because we can automatically choose not only the proper eigenvalues, but also the optimized eigenvalues.
For more on Kalman observers, visit this site.