I mainly want to find out what is the difference between Amazon S3, EC2 and Windows Azure. Also how does S3 and Azure work, I already know what EC2 is but not the others. Also what's the connection between S3 and EC2.
Microsoft Azure and Amazon's EC2 platforms are infrastructures for virtual private server provisioning.
Amazon S3 is a file storage platform, that allows files to be stored both from inside the EC2 network, and externally, so it is good for media serving (with their combined CDN product, "Cloudfront"), as well as backup storage, and so on.
EC2 instances can be stored on S3, but this is much slower than EBS instances, and doesn't allow persistance across node shutdowns.