Search patterns have undergone a lot of change over the last few years. The search engine users have become savvy and seem to have learnt the tricks of getting to relevant search results. Certainly, search engines themselves have improved a lot too. I believe both the search engines and the users have become increasingly savvy.
Nowadays users do not search for generic keywords; rather they search for very specific terms. We are increasing seeing much longer search expressions being used. Analyzing the search logs will probably reveal this to an observant SEO expert.
It is always good to be at the top for a generic keyword but in certain industries where localized results are more relevant one should not forget that a large amount of referral traffic would be lost if we do not optimize pages for local results. Larger sites like directories should pay special attention to optimizing themselves for localized results rather than only targeting generic keywords. It’s common nowadays to see 3-4 or more words appearing in a search expression. A significant percent of the users also tend to put a question as a query.
As an SEO one must be very observant of such trends and make changes accordingly.