Adaptive mesh refinement algorithms and the difference between AMR and moving mesh

I'm working on my thesis and a part of it has to do with adaptive mesh refinement. As a computer science major, I'm not too familiar with this field. The best way I can put my knowledge of AMR is: I understand the purpose and programming part, but I don't understand what it is. Sorry, I'm having difficulty wording it correctly.

I've found numerous papers with titles similar to "_____ Through Adaptive Mesh Refinement" or "An Adaptive Mesh Refinement Method for _____" and it seems like AMR isn't a field with set algorithms. Instead, there are some templates that are extended based on the functions that describe whatever is being studied. As a followup conclusion, the functions that describe the behavior of the mesh are closely tied to the functions of whatever is being studied.

I also found this question which led me to moving mesh studies. Is it safe to assume the main difference between AMR and MM is that AMR adds and removes points to alter the fineness of the mesh, while MM moves the existing points?

So, basically, my questions are:

• Is AMR open-ended in terms of algorithms?
• Are the calculations on the mesh done with a separate set of functions than the numerical ones that are being studied?
• Are there any other difference between AMR and MM that I haven't listed?

2. I'm not sure what this is asking. Usually error indicators (AMR) or "monitor functions" (moving mesh, aka. "$r$-adaptivity") are defined in order to drive refinement. In case of moving mesh methods, usually there is an auxiliary equation that is solved to find the position of the mesh.