Hola Anahi
Seguro que hay expertos que te explicaran mejor que yo las diferencias pero te diré cuando utilizo yo cada una.
Imagínate que tienes un control Lista con datos que se toman de una consulta, un recordset, etc.., pues para asegurarte que en todo momento y después de cargar datos, éstos son los últimos y los actualizados, es decir, que te va a cargar los últimos registros añadidos, etc.. yo uso el "Requery", es como volver a cargar todos los datos en el control desde cero, así te aseguras que estan actualizados.
El refresh es un refresco, es como el requery solo que no te actualiza todos los cambios de la tabla, simplemente los cambios sobre registros, pero por ejemplo si hay un nuevo registro añadido ese no te va a aparecer.
No soy un experto, te lo explico desde mi propia experiencia, que no es mucha.
Saludos. Suerte.