The difference is that haber, typically in the form of hay in the present tense or había for the past, is used to indicate the mere existence of the person or thing. Estar, on the other hand, is used to indicate the location of the person or thing.
Note, for example, the difference between these two simple sentences:
- No hay presidente. This sentence indicates that the president doesn't exist, perhaps because the office is vacant.
- El presidente no está. This sentence might be used, for example, to indicate that the president isn't present, although he or she exists somewhere.
- El juguete está en la silla. (The toy is on the chair.)
- Hay un juguete en la silla. (There is a toy on the chair.)
As a general rule, estar is used when a specific person or thing is referred to, but a third-person form of haber can be used when the word is used more generically. As a result, a noun preceded by a definite article (the word el, la, los or las, meaning "the"), a demonstrative adjective (a word such as ese or esta, meaning "that" or "this," respectively) or a possessive adjective (such as mi or tu, meaning "my" or "your," respectively) normally would be used with estar. Here are some more examples:
- No hay ordenador. (There isn't any computer.) El ordenador no está. (The computer isn't here.)
- ¿Había fuegos artificiales? (Were there fireworks?) Esos fuegos artificiales están allí. (Those fireworks are there.
- ¿Hay tacos de res? (Are there beef tacos available?) Mis tacos no están. (My tacos aren't here.)

