I think "миг" and "мгновение" mean exactly the same - a [short] time interval that takes a person to briefly shut and open his eyes. The word "момент" means the point in time and I think is borrowed. If you say "сей момент" that would mean: (1) "now", and (2) that you speak in an old-fashioned language.

I think "зря" and "напрасно" means exactly the same, whilst the former is more colloquial.

Hope, it helps.