Several small business I know just dump all their pages at the root of their web site, differentiating the pages by using a long, hyphenated, keyword-rich naming convention (if you can call it a convention). This obviously makes maintenance a nightmare, but they claim it’s best for SEO (having URLs with hyphenated keywords that are closer to the root of the site).
In addition to the maintenance problem, isn’t this method confusing for users who are expecting the URL structure to somewhat match the way they navigated to the page? Is it generally better for small businesses to optimize for humans first, then search engines, or the other way around (since they’re struggling for page views against bigger players in their industry)? Should URL structure somewhat match the structure of your navigation? Or in other words, shouldn’t there be some way for users to see where they’re at conceptually in the hierarchy of a site just by looking at the URL?
I think this is one of those points that, everything else being equal, will make near enough no difference to SEO, but will make a big difference to human usability.
It is much easier for people to remember, re-type or guess URLs that are easily constructable with a clear hierarchy, than ones that are made up of several words concatenated and hyphenated together. This means that people are more likely to get to the page they want, which improves your chance of conversion, and improves your user satisfaction.
Will either way make a difference to Google?
I am certain that Google will not prefer long filenames stuffed with concatenated keywords. On the other hand, it may prefer a hierarchical structure, as it allows the search engine to build up a better picture of the structure of your site and the relationships between pages. I assume that the folder names would generally use the same words that would have been in the long filename, so your URL will have most of the same words in anyway!
Just my opinion, but I think that it’s the click distance from the root, not the URL path from the root that matters. Generally, the more clicks you have to make before you reach a page, the less (real) PR it has - bad. Also, as a signal to the search engines and readers, if your’re “hiding” a page beneath many clicks, that page isn’t very important - bad.
In the example you gave, the only thing wrong with the pages with the .php extensions is that you’re tied to the technology. If you want to start using asp.net (gasp) you’ll have to mess around with redirects to retain links.