Hi Sam,
In French you will often find verbs which have different meanings. Grammatically they use different auxilliary verbs to conjugate in the past enabling us to tell their meaning apart. As Ron says French is a rich, verbose language which has many layers.
Demeurer ( with Avoir) is this case will be used to mean, to reside somewhere, but you will mostly hear the simpler habiter or vivre in spoken language .
In the other sense of staying (with Etre) you will probably mostly use "rester" in spoken language,
e.g. Elle est restée muette devant sa réaction rather than, elle est demeurée muette devant sa réaction.
Hope this helps!