Having a dedicated server is like buying a vacation house. You have a predictable cost, but also a fixed capacity. If the house sleeps 10, but your family is only 4, you're wasting money. If you have 10 unexpected guests one year, some people may have to sleep outside. Also, for 50 weeks a year when you are not on vacation, it sits empty, but you still pay for it.
Amazon EC2 is like getting a room at a hotel. It may cost more per night, but you can also only book it when you need it. Additionally, when you have more people than expected, you can book more rooms. Renting 10 rooms for a week is cheaper than buying a house.
If you know in advance what your needs are, and they are consistent from month to month, get a dedicated server. If you have have unpredictable needs, EC2 is the way to go.