Re: Someone else's computer
This is no different to things people can and do on their own infrastructure. S3 bucket names are DNS names and they can be reregistered when abandoned. This makes a case for Amazon deciding that it should only be possible to register a name once and once it is deleted, it's burned forever, but we don't attack the original domain name system for allowing that. As usual, it's the responsibility for the people using those names to keep track of them.
In fact, cloud services makes it easier to do that than traditional ones. If I have a domain name that I've registered and I don't want someone to be able to squat on it, I have to keep paying for it every year. This is one reason why I have a bias to not having very many second-level domains*. If I have a S3 bucket that I don't want people to squat on, I can keep it around for free. I am charged for files stored in it and for bandwidth it uses, but if I delete all the files but keep the bucket around, the name stays registered and I retain control. It is better, however, for me to check such things rather than trust that whatever file comes back from an HTTP request is good enough.
* I generally suggest that a company with the domain company.com refers to other services they run using subdomains (product.company.com) rather than creating another second-level domain (companyproduct.com). It has three benefits. Users can more quickly identify that the domain is related to the company since only they can create a subdomain (unless they've been hacked, which is a possibility), it is easier for the company to keep track of domains they control and make sure they are either in operation or shut down, and for smaller projects, it can cut down on money spent on registrars.