Nothing stops your from spinning up data crunching EC2 instances at night either, if you want to, and if it really is more cost-effective for you than having VM on your dedicated hardware.
There's plenty of API's available if you want to run your own "private cloud" on those dedicated servers too. I never deploy outside VM's any more, even though I also mainly use dedicated servers.
EC2 is cost effective if you truly have really short term (< 4-6 hours per day) batch processing needs. It continues to shock me how many people take the pain and cost of dealing with EC2 for more typical web app usage.