Amazon S3 is actually relatively expensive. It's far cheaper in the long run to host it on your own server. However, if you don't have experience setting up scalable systems, tuning your configuration, or do not want to spend time doing that type of sysadmin stuff, it can be a good way to save time. It's like buying Coke at a vending machine instead of at a wholesale store. You're paying for the convenience more than anything else. Just be aware of how much you're being marked up.