AWS is a shared service, so as they add more customers, the overhead costs of administering the service continue to drop. Their priority is to keep growth going at a steady clip.
AWS is also a very granular service, so Amazon gets near real-time metrics re: usage, demand, etc for a variety of services. That allows them to analyze changes in usage patterns and correlate price signals to actual consumption of services.
My guess is they adjust their pricing to control growth. Too cheap, and demand will spike, requiring Amazon to grow the environment too quickly. Too expensive, and they'll have trouble making the continuous capital investments that they need to make while still making money!
EC2 pricing was so absurd that everyone was using spot pricing for 50-80% off. This adjustment just gets more people back on the standard pricing scheme and makes tracking financial easier for Amazon.
"Thanks everyone for your hard work this week. We're making substantially less money than last week. Let's keep it up people!"