¿Cuál es la diferencia entre las funciones Show (), ShowDialog () y Application.Run ()? [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Cuál es la diferencia entre Application.Run () y Form.ShowDialog ()? 8 respuestas

¿Cuál es la diferencia entre las nuevas funciones Show (), ShowDialog () y Application.Run ()? Enmain (Winforms) vi:

Application.Run(new Form1());

Entonces, para Form1, también viForm1.Show() con descripción: "Muestra el control al usuario". Para ShowDialog, decía "Muestra el formulario como un cuadro de diálogo modal".

¿Qué significa esto?

¿Cuáles son cada uno de sus usos y cuál es el más común?