You are kinda attempting to compare apples and oranges here. Amazon's EC2 (Elastic Compute Cloud) and S3 (Simple Storage Service) services serve two totally different purposes. S3 is meant for redundant storage and is not a "server" per se. Yes, if you had a webserver hosted else where you could use S3 as a form of CDN using S3 along with Cloudfront, but the primary purpose is storage. EC2 on the other hand is a VPS (virtual private server) that would be able to run daemons like nginx, varnish, apache, etc. S3 by itself can not do this for you.
If you create your own AMI (Amazon Machine Image) for an EC2 then you would store them within S3 and you would pay the storage fees associated with that. An EC2 instance can be run without any use of S3 at all. However, as mentioned EC2 instances do not store data past shutdown when the instance is no longer running. In order to have data retained between startups & shutdowns you either have to store it on S3 or use an EBS (Elastic Block Store) that can persist the data for you.
There are different pricing tiers on the bandwidth inbound, outbound and within a given region as well as the storage capacity, I/O requests, etc. This gets complicated and there are several calculators out there to help you figure it out. I've written my own spreadsheet with formulas that I import my usage history CSV downloads to help estimate future usage costs. I've been managing several server instances for a client within EC2 now for over 9 months now. I've found the easiest cost to calculate is instance runtime as it is a simple hourly rate per instance. After that EBS volume and S3 storage capacities are easy to calculate but the I/O requests and bandwidth can be surprising at times.
My S3 storage costs are usually quite trivial (usually < $2/month) and I store several AMIs and some documents that the application servers access, along with the initial start-up of the instances. My instances use a Puppet server maintained on a VPS outside Amazon that also serves as my monitoring and jumpbox server. Running about 7 instances on average I've found my I/O requests to be between 5-8 million and cost < $1/month on average. The last 6 months I've averaged about 10GB in EBS volumes and that only costs a little over $1/month. I use EBS volumes for my static content along with my MySQL database files and binary logs. Data transfer inbound has ran between 20-24GB and averages ~ $2.25/month while outbound ran between 241-326GB and averaged ~ $42/month. My regional bandwidth between instances ran between 130MB-535GB as not all of my instances are in the same availability zones and averaged ~ $2.45/month. All that said, as I stated the hourly rate being the easiest to calculate we run upwards of $1700/month for the EC2 instances themselves. We're currently looking to move to reserved instances vs. on-demand instances and should drop that to around $600/month after the upfront cost ($6-9K) of getting the reserved instance.