- learning about and understanding S3 in the first place.
- Billing and AWS account management (possibly requiring agreement/permission from others)
- maintaining credentials securely for your app to access S3.
- bug fixing (for e.g. it's easy to get the permissions wrong when you upload so that it's not visible)
Since you're already storing the URL in your dB, why not just store the binary data you have?
I don't think you're wrong about using something like S3 being a better solution, but it's not quite as simple as "issuing one command"