Here's a good example of why not to use GET to change server state:
http://www.infoworld.com/article/08/06/16/25FE-stupid-users-part-3-admins_5.html
The key portion is:
"It logged into the administrative area and followed the 'delete' link for every entry," the admin says.
If the delete had been coded as a POST this never would have happened. (OTOH we'd be robbed of a funny sysadmin story.)