Why is it preferable to use paths with slashes instead of query-string variables in a web page URL?
One reason for having this as a goal during initial development is that it forces you to think critically about your web site's link structure from the outset. If the hierarchy is clear in the URL, then this clarity will naturally flow into the structure of the website and ease navigation for both your users and the search engines.
Depending on how you are developing your site, thinking about URL structure from the beginning may also help you with code design; what controllers you will need, how you are going to perform routing, etc.
Other reasons, such as URL readability and hackability have been touched on in other answers.
All of the search engines are doing a pretty good job with query string parameters these days, but if you're starting a new site, it is definitely worth using clean URLs.
Some people claim that it has a positive SEO effect. By including keywords that people will search for within the URL, your search engine rankings can be higher.
Other reasons include a neat URL structure and URL "guessability" through removal of URL path components to get to higher levels of navigation.
If you are using an MVC framework of any kind, you are more-or-less made to work in this way by picking controller names etc. to be friendly to the URL routing.
The main reason I do it is for readability, specifically on search results. I've only heard this and don't have any hard numbers, but it's supposed to increase click through. In other words if you have 2 results with the exact same ranking, people are more likely to click on the clean and easy to read one. I don't think this always needs to be one with slashes, but I think this is easier than a query string.