Yeah, I think everyone's had that happen at one time or another. The iphone's e-mail system isn't perfect...YET. It hasn't dethroned the Blackberry as e-mail king YET. As Bad Ash says, you get what you pay for. Sometimes, I can go a day or 2 where the e-mail (yahoo) isn't pushing as efficiently as i'd like. But then it usually resolves itself. Obviously, the e-mail system will run better on 3G (vs. Edge) and will run the best overall on wi-fi. And I do have my settings set for "Push" (where applicable) and for my other e-mail addresses "Fetch e-mail every 15 minutes." I used to have it all set to manual but didn't really notice a big difference in battery life, so I switched it. Might want to try that.
Also another thing you should be doing is doing a soft reset (holding the sleep/wake button on top til the slider bar appears) at least once a day to ensure that it's running properly. Especially if you're the type of person to add apps from the App. Store on a frequent basis.