"Essere" (to be) and "Avere" (to have) are called auxiliary verbs; they are called so because they help in the formation of compound tenses ("essere" + the past participle of a verb, "avere" + the past participle of a verb) and the passive construction ("essere" + a verb)
Generally speaking, "avere" is used with Transitive verbs (verbs which take an object) while "essere" is used with Reflexive and Intransitive verbs (verbs of motion, position, physical or mental condition, etc.). Examples:
"Stare" (to stay, to be) is used as an auxiliary verb with adverbial participles (so-called gerunds) to form Progresive Tenses:
The present progressive uses the present tense of "stare":
Sto parlando » I am speaking
The past progressiveuses the imperfect tense of "stare":
Stava leggendo » He was reading
"Andare" is used in a similar fashion as an auxiliary verb: Example: