What are the differences between all the S3 urls?

The first and third are REST URLs and the second one is a Website URL - they can both be served from the same bucket but behave slightly differently and have different purpose. See Key Differences Between the Amazon Website and the REST API Endpoint.

I don’t believe the 3rd form will be removed anytime soon (AWS is very conservative with deprecating existing things) but it’t not the recommended way because it in fact in some cases redirects to the first form. If you directly use the first form you save yourself a redirect.

Hope that helps :)