As with any tools, I would say it's got more to do with
how you use them then whether or not you use them.
Personally, I like to have all of my business logic and non-view decisions figured out before I forward to the
JSP and then use JSTL and EL for help building up the markup only.
With that line of thinking, I can't picture myself using, cookie, header or headerValues in a JSP. A case may come up but, usually, if I'm reading headers, it's because I want to branch on them and make the app behave differently according to their values or because I'm logging something like a referrer header. Neither of these things are things I would typically do in the view.
For a small app, I might use the param object for re-populating a form that has failed validation but, in most cases, by the time validation fails, I've already used those parameters to populate a bean and it's easier (or clearer) to use the bean's properties to repopulate the form.
Your mileage may vary.