Есть много преимуществ настройки StartInfo.UseShellExecute на false.
Один из них, если вы можете перенаправить стандартный ввод, стандартный вывод и стандартную ошибку и прочитать эти потоки. Это очень полезно, когда что-то идет не так. Читая стандартный поток ошибок, вы можете определить, произошла ли какая-либо ошибка или нет.
Для получения дополнительной информации о ShellExecute следовать this ссылке
О StartInfo.WindowStyle собственности, если держать его в ложном командной строке появляется при запуске процесса. Если ваше приложение имеет приятный, богатый пользовательский интерфейс, а затем внезапно появляется одно черное окно, оно будет раздражать пользователей, а некоторые пользователи могут попытаться закрыть командную строку перед выходом из процесса .. и есть еще много причин для скрытия окна.