I'll add one more point: meaningful URLS are popular with search engines. For example:
http://www.spinneyfarm.co.uk/index.php?cPath=40
tells me (and Google) nothing about what that page speaks of - it also tells me more than I need to know about the underlying implementation of the site (PHP, using a Front Controller model to dispatch requests for specific categories of content).
http://www.spinneyfarm.co.uk/product...products_id=99
is no better - "Mmm, I think I'll have some 99 for dinner tonight"
Even worse, there's no way of telling that the second URL points to a sub-resource of the resource denoted by the first URL - thus the structure of the site's information cannot be intuited by either a user or a search engine
Now, if those URLs were
http://www.spinneyfarm.co.uk/lamb/
and
http://www.spinneyfarm.co.uk/lamb/rolled-breast/
then not only could humans make more sense of them, but search engines would also make more sense of them, and (probably) rank them more highly for relevant keywords. Furthermore, it would be obvious what the hierarchy of the information is ("rolled breast of lamb" is a specific instance of the general category "lamb").
This isn't to say that "dynamic URLs" are, per se, bad -
Google say not - but for that site, meaningful URLs make a lot more sense.
This should be easy enough to achieve with a suitable .htaccess file if the site doesn't change too much. If you need more complex mappings, maybe because product ranges change quite frequently, you should only have to make minimal changes to the PHP backend and database to support something like this. If you look at a typical WordPress install and see how it handles URLs for categories via .htaccess, PHP, and mySQL, it should convey the general idea. (Hint: autoincrement fields are great for databases, not so much for the web.)
To give an example, I have a site which allows URLs of the form
http://example.com/users/Fred/
which .htaccess turns into
http://example.com/user.php?id=Fred
The second example would still work, but the first one is the canonical form, and is more friendly for both users and search engines.
(Actually, these days I put the scripts in a non-public-accessible directory, so the second wouldn't work, but that's another matter.)
Oh, and if that's more work than makes sense at the moment, then creating an XML sitemap of the form described at the Google Webmaster Tools site is simple and easy to do and will help the search engines (they all recognise such files now) to understand the structure of the site - although it still won't help the humans
Incidentally, although I've talked solely about Google, both Yahoo! and MS Live Search offer similar webmaster tools. Dunno about the other search engines that nobody ever uses...