The current trend in web applications seems to be towards using GET requests for everything. Specifically, using RESTful URLs that describe a service, a command, and its parameters. A few months ago, Jeff Atwood posted about the dangers of XSS. He demonstrated how even allowing users to post on your site something as seemingly innocuous as an "img" tag could result in an XSS vulnerability. The reason is that the browser will just go blindly request the url in the "src" attribute, which could do something merely annoying, such as logging the user out, or something much more ominous.
When I first started doing web development ten years ago, the conventional wisdom was to always favor POST over GET for forms, and to have the application on the server side require POST for form submission, for precisely this reason. Browsers send GET requests all the time (like in the aforementioned "img" tag example), but they only send POST requests in certain circumstances (specifically, forms with the "method" attribute set to POST). By requiring POST, is seems you can eliminate a large segment of XSS attacks. Is this a valid reason for preferring them?