For a web app with a moderate amount of static media content which will be deployed on an Amazon EC2 instance, does it make sense to include the static content inside the war file or to host it on a separate S3 instance.
What will be the differences in terms of performance? What will be the differences in terms of service costs? What will be the differences in terms of complexity?
Absolutely. For 4+ reasons:
In terms of costs:
You will also have an overhead of complexity when releasing a new version of the app, because besides deploying it into the EC2 instances, you will also have to upload the new static file versions to S3. But you could automate this with a pretty simple script.