When there are some common filters (say a "project") along the application, it might be useful to have some filters in session variables. This way, when you navigate to a different page that also filters by the same "top level entity", it is already filled. Nevertheless there are also drawbacks (e.g.: not easy to bookmark the page). And as you say usability has a major role here - in the way the information arquitecture and application is created - if properly done, session vars shouldn't probably be used.