Many news aggregators user HTTP Conditional GET to skip retrieving RSS content just by looking at HTTP headers. Unfortunately, this only works if the RSS feed is a static file and the server can determine the last modified time. Since WordPress uses dynamic file, the RSS feed will always appear to need an update.
The simple solution is to have the RSS files send a header() with the last modified date (calculated by looking at the time stamp of the latest <item>)
More information can be found here: http://fishbowl.pastiche.org/archives/001132.html
Rather easy fix, and it makes WordPress look more modern ;-)