Первый выделяет новый экземпляр MyFrame в куче и возвращает указатель на него. Второй создает новый экземпляр MyFrame в стеке напрямую.
Причина, по которой вам нужно использовать первый синтаксис, заключается в том, что вы добавите этот кадр (элемент пользовательского интерфейса) в другой элемент пользовательского интерфейса, например в окно. Окно возьмет указатель на фрейм и добавит его как дочерний элемент.
Если вы используете второй синтаксис, вам нужно будет передать указатель на ваш объект стека (& frame), который скомпилируется, но затем, как только ваш метод вернется, вызывается деструктор frame, так как frame выходит из объем. Это «сломает» ссылку внутри вашего окна.