La diferencia entre HABER y TENER
HABER
1) El verbo HABER es el único auxiliar que se utiliza para formar los tiempos compuestos.
Ejemplo:
He ido de compras.
2) Existe una forma impersonal del verbo HABER que expresa la existencia de uno o varios elementos en diferentes tiempos verbales:
Ejemplos:

- Ha habido: pretérito perfecto

- Había: imperfecto de indicativo

- Hubo: pretérito indefinido

- Había habido: pluscuamperfecto de indicativo

- Habrá: futuro

- Habrá habido: futuro perfecto

- Habría: condicional

- Habría habido: condicional compuesto

- Haya: presente de subjuntivo

- Haya habido: pretérito perfecto de subjuntivo

- Hubiera/hubiese: imperfecto de subjuntivo

- Hubiera/hubiese habido: pluscuamperfecto de subjuntivo

TENER
TENER es un verbo personal que expresa posesión.
Ejemplos:
La niña tiene sueño.
¿Los Gómez tienen gatos y perros?
Ella no tiene treinta años.