実際には、のインスタンスを返す必要はありません\Magento\Framework\View\Result\Page。executeインタフェースを実装するクラスのインスタンスを返すことが期待されています\Magento\Framework\Controller\ResultInterface。  
\Magento\Framework\View\Result\Page1つの可能な戻り値です。
その他の可能な返品は
- \Magento\Framework\Controller\Result\Redirect
- \Magento\Framework\Controller\Result\Raw
- \Magento\Framework\View\Result\Layout
- \Magento\Framework\Controller\Result\Forward
- \Magento\Framework\Controller\Result\Json
他にもあるかもしれません。
メソッドを見てくださいMagento\Framework\App\Action\Action::dispatch()。
これは、で\Magento\Framework\Controller\ResultInterface宣言されたメソッドを呼び出すことにより、さまざまなアクションが実行された結果のインスタンスを返しますResultInterface。
このdispatchメソッド呼び出し$result = $this->execute();であるexecuteコントローラアクションからの方法。したがって、これは一貫性のためであり、コントローラーアクションに別の動作を導入しやすくするためだと思います。実装する新しいクラスを追加するだけでResultInterface、フレームワークによってすべて処理されます。