This happens a lot when you’re on shared hosting. The Twitter API limits you to 100 requests per hour per IP for unauthenticated requests. Even with a well-behaving widget like this one you make 12 requests per hour. Since there could easily be 100+ other sites on your same IP though, you can run against your limit pretty quickly. If it updates, lags behind, then updates again an hour or two later, this is probably the issue. If it NEVER updates it’s likely because you have a site on your shared server that is SLAMMING Twitter with requests and using the whole 100/hr in the first few seconds of every hour.
There are plans in the future to make it optional to authenticate a user, which would up the limit to 300 requests per hour per user (it wouldn’t count against your IP). However, there is currently no timeline for this.
Until then, any Twitter Widget that uses the API won’t work. Consider using Twitter’s own javascript widgets instead.