CMSなら、管理画面や編集画面などから使用者が画像アップロードすることは多々あるでしょう。
冗長化している場合すべてのサーバから同じ画像が参照できなければなりませんが、冗長化している場合必ず同じインスタンスにユーザがアクセスするとは限りません。
通常の使い方ならユーザ側からアップロードする場合、EC2に画像配置するようにしているとそのときにアクセスしたインスタンスのみに画像がアップロードされます。
それを複数あるEC2インスタンスに同期するのは面倒です。
CMS側でS3を参照したり、画像のアップロード先をS3に設定していると、どのインスタンスアクセスしていてもS3のほうを参照するだけでよく、いちいち同期する手間がかかりません。
同じような用途だとEFSをマウントしてそこに画像を置くことも考えられますが、S3に比べるとディスク容量が高価な上パフォーマンス的にも微妙なのでわざわざそうするメリットはあまりありません。
以下はその他一般的なメリットです。
静的コンテンツをS3に配置することで、アプリケーションに影響しない静的コンテンツに変更が発生した際に、いちいち複数のEC2インスタンスにデプロイをしなくてよくなります。
静的コンテンツのファイル数や容量が多いとデプロイに無駄に時間がかかり、スケールイン・スケールアウトにも時間がかかります。
また、この構成ではEC2には動的に処理をする必要のある部分だけを配置すればよく、キャッシュヒットしなかった場合の静的コンテンツに対するリクエストはS3に任せることができます。
S3はAWSがスケールさせてくれるのでアクセスが増えても安心です。
S3に分けて配置することで、EC2インスタンスが落ちても静的コンテンツだけは返すことができるメリットもあります。
もし静的コンテンツの容量が重い場合、前述のデプロイに対するメリットの他にディスク容量的なメリットもあります。
EBSの容量よりもS3の容量のほうが遥かに安いです。
EC2は普通にサーバなので何でもできてしまいますが、EC2の役割が増える(状態を多く持つ)ようになるとスケールしづらくなるのでそれを避けるようにするのは定石です。
その中でもS3の使用は安価で単純にそれを実現できる上にノウハウも多数あるお手軽なパターンです。