Ilan Stavans has an interesting piece on Lingua Franca about ser and estar in Spanish. They both correspond to English be. Why Spanish needs two verbs to say what other languages say with one, or even without any copular verb, is a mystery. But language is full of mysteries. The basic rule is that ser is used for permanent states and estar for temporary or changeable ones: es feliz means that someone is a happy person by nature while está feliz means that they are in a happy mood at the moment. Stavans goes on to describe various translations of Shakespeare’s ‘To be or not to be’.
A confusing Spanish translation problem is the pun:
No están todos los que son pero sí son todos los que están.
This plays on son and están, both of which mean they are. The good people on WordReference try their best and come up with:
Not all of them are here, but the ones that are here, are here.
Not all of the listed are here, but the ones that are here, are listed.
Not all of the needed are here, but the ones that are here, are needed.
Not all of the required are here, but the ones that are here, are required.
The are here is for están and the precise definition is for son.
Another mystery, even greater perhaps, is that while estar is usually explained, as I have said, for states that are not permanent, and is logically used for people who are alive:
Mi padre está vivo (My father is alive.)
It is also used for people who are dead:
Mi madre está muerta (My mother is dead.).
There is an attempt at an explanation here on about.com, but it is admitted that it is very strange.
That's a good question, and the answer is probably to be found somewhere in the history of the Spanish language rather than in any logical application of the rules of grammar. To the native Spanish speaker, ser and estar are two separate verbs, seldom interchangeable. But because they can both be translated as "to be," they have been the source of confusion over the years to English speakers learning Spanish as a second language.