どちらを選ぶべきかは、企業の予算・期間・人材等の状況によります。
受託開発は、成果物納品を約束する形で開発会社が全工程を担当します。
技術力が不足している場合や明確に作りたいものがある場合に有効ですが、仕様変更への対応は難しく、社内の技術力の蓄積が期待しにくいです。
一方、SESはエンジニアを企業に派遣し、企業内で業務を遂行する形態です。
即戦力となるエンジニアを得られ、仕様変更にも柔軟に対応できますが、エンジニアの帰属意識を持たせるのは難しく、また直接の業務指示はできません。
どちらを選ぶかは、自社の状況によります。