Certamente, il primo metodo funziona solo col testo. Il secondo funziona con tutto se utilizzi ShellExecute o Shell e Word per esempio, ma ovviamente non funziona se utilizzi il notepad.
Ti faccio una nota però: shellexecute si cerca da solo il programma per aprire un determinato file, Shell invece ha bisogno del percorso assoluto delle applicazioni (come ad esempio C:\Programmi\Office\...\WinWord.exe) ma funziona con quelle di default di Windows come ad esempio notepad.exe