Principalmente esistono 2 modi per visualizzare una seconda finestra: o in modalità normale (.Show) o in modalità "modale" (.ShowModal).
La differenza risiede nel fatto se vuoi che l'utente possa interagire anche con la finestra chiamante oppure no. In genere si chiama una finestra modale quando si vuole che l'utente sia obbligato a fare qualcosa su di essa e non possa interagire con quella chiamante finché non ha eseguito le operazioni richieste.
Quale usare delle 2 dipende ovviamente da te e dal programma. Io in genere chiamo una finestra in modalità modale quando richiedo all'utente qualcosa, e comunque non cerco mai di far apparire 2 finestre contemporaneamente perché non uso una logica di programmazione del genere né voglio che l'utente "spippoli" su 2 finestre contemporaneamente.
P.S.:
ShowDialog è identico a ShowModal. Ecco cosa dice la documentazione:
FUNCTION ShowDialog ( ) AS Integer
A synonymous for the ShowModal method.