When it comes to ranking issues in Google, there are two main reasons why your rankings can drop. The first is you made a technical mistake on your own site, such as blocking Google from crawling you. The second is Google decided through algorithms or manual actions that your site shouldn't rank as well anymore.
A WebmasterWorld thread has SEOs debating if it is harder to know if your site was hurt by an algorithm, ie Google vs your own human error.
We have so many algorithms running, possibly well over 2 changes per day, in the search results. Because of that, does it make it impossible for one to know if it is a human issue vs an algorithm? There can be SEO technical mistakes on the site, but even with those, is that the reason your site tanked?
The senior member in WebmasterWorld said:
Is it time for us to quit simply discounting any statement about a change made yesterday possibly having an effect on rankings today, or not?
The truth is, probably not. You need to look at a case by case basis. Of course, when I track algorithm changes and Google updates, I look for patterns. If there are a ton of complaints, then you can assume (not a safe word) that Google did release some sort of update that hit you and others. But you cannot always make that assumption because a technical issue may hit you the same day.
Anyway, this is what you hire SEO firms for. To analyze these things and make suggestions and corrections to things you can control (i.e. your technical site) and things you do not necessarily control.
Forum discussion at WebmasterWorld.