How can I calculate the required bandwith and cost of hosting a site that would have around 3 million unique visitors per year? I wanted to come up with an estimate of how much cost could be saved by using a cloud computing service like Amazon EC3 vs. using a traditional colocated server.
Amazon has a cost calculator to help you estimate these things: http://calculator.s3.amazonaws.com/calc5.html
Roll 3d6 for savings, and 1d20 as a saving throw against not actually saving anything.
Or, to be a little less facetious, there's no guarantee that you'll save anything using EC2. It depends on your IO, availability, and traffic profiles. Be careful not to underestimate the hard-to-estimate bits in EC2's cost calculator -- do you know how many IOPS you do to persistent storage each month? I'll bet it's more than you think.
It's very simple in theory, but you're going to have to do the work yourself, we can't do it for you, since it depends on so many variables.