From W3:
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.
Naturally, it is not possible to
ensure that the server does not
generate side-effects as a result of
performing a GET request; in fact,
some dynamic resources consider that a
feature. The important distinction
here is that the user did not request
the side-effects, so therefore cannot
be held accountable for them.
9.1.2 Idempotent Methods
Methods can also have the property of
"idempotence" in that (aside from
error or expiration issues) the
side-effects of N > 0 identical
requests is the same as for a single
request. The methods GET, HEAD, PUT
and DELETE share this property. Also,
the methods OPTIONS and TRACE SHOULD
NOT have side effects, and so are
inherently idempotent.
However, it is possible that a
sequence of several requests is non-
idempotent, even if all of the methods
executed in that sequence are
idempotent. (A sequence is idempotent
if a single execution of the entire
sequence always yields a result that
is not changed by a reexecution of
all, or part, of that sequence.) For
example, a sequence is non-idempotent
if its result depends on a value that
is later modified in the same
sequence.
A sequence that never has side effects
is idempotent, by definition (provided
that no concurrent operations are
being executed on the same set of
resources).
So basically GET is intended to be idempotent (if you resubmit the form, you end up with the same result as once - you don't get your orders from Amazon delivered twice as a consequence, for instance.) POST is intended to be more liberal in how it behaves.