Many reasons but some you can ask: - Your contents fresh and unique ? - You have more competitive ? - Your backlinks down or up ? - PR down ? - You make some mistakes when SEO ? - ....
Number one reason is your content is not changing. Imagine if you were Google Bot (bear with me ;-) ), would you keep going back to a shop which never changed - probably not. But if the shop was constantly changing and new promotions were always on, you would keep returning to see what else they had. The same principle works for information and ecommerce sites alike.
Take it easy! Maybe the better serps can be back a few weeks later since Google would update it regularly.