because GET must not alter the state of the server by definition.
see RFC2616 9.1.1 Safe Methods:
9.1.1 Safe Methods
Implementors should be aware that the
  software represents the user in their
  interactions over the Internet, and
  should be careful to allow the user to
  be aware of any actions they might
  take which may have an unexpected
  significance to themselves or others.
In particular, the convention has been
  established that the GET and HEAD
  methods SHOULD NOT have the
  significance of taking an action other
  than retrieval. These methods ought to
  be considered "safe". This allows user
  agents to represent other methods,
  such as POST, PUT and DELETE, in a
  special way, so that the user is made
  aware of the fact that a possibly
  unsafe action is being requested.
If you use GET to alter the state of the server then a search engine bot or some link prefetching extension in a web browser can wreak havoc on your site and (for example) delete all user data just by following links to your site.