Have you had difficulty knowing which one to use? I did, too. That is until I made a mistake that drove home the difference. I was trying to say that I was dirty. But I said, "Soy sucia." My friend told me, "You just said, 'I am dirt.'" To say, "I am dirty," is "Estoy sucia." I have not made the mistake since. It made the difference between ser and estar so very clear. Do you have any tricks like this that you can share for learning things in Spanish?
Hahahah! Yes, that would drive the point home. The main difference is this:
SER is for things that intrinsically part of you: Soy alto, soy viejo, soy latino etc. This is just part of who you are. It can also be used for things like professions: soy doctor, soy abogado, soy entrenador.
ESTAR is used for two main things 1) Location: Estoy en la casa, estoy en el colegio, estoy en Mexico. 2) To describe the state in which you are AT THE MOMENT: Estoy feliz, estoy triste, estoy molesto.
There are times when SER and ESTAR can both be used, but their meaning will be different:
SOY sucia: I am a dirty person (I don't clean after myself, I don't shower, I smell bad. ALWAYS, it is part of you)
ESTOY sucia: I am dirty (Perhaps you were out for a jog and now are sweaty, or maybe you were having a mud fight. You are dirty RIGHT now)
Sometimes the use of SER and ESTAR can change the whole meaning of a word: 1) Soy bueno (I am a good person) 2) Estoy bueno (I'm hot)
I hope that helps :)
I never had trouble remembering to use estoy to describe my location. It was using it for description that confused me. But I have never been confused since I made this mistake.