A descrição na página à qual você vinculou parece ser bastante descritiva da finalidade pretendida:
Um redirecionamento 302 indica que o redirecionamento é temporário - os clientes devem verificar novamente o URL original em solicitações futuras.
Um redirecionamento 303 destina-se a redirecionar uma POST
solicitação para um GET
recurso (caso contrário, o cliente assume que o método de solicitação para o novo local é o mesmo que para o recurso original).
Se você estiver redirecionando um cliente como parte de seu aplicativo Web, mas espera que ele sempre inicie no aplicativo Web (por exemplo, um encurtador de URL), um redirecionamento 302 parece fazer sentido. Um redirecionamento 303 é para ser usado quando você recebe POST
dados de um cliente (por exemplo, um envio de formulário) e deseja redirecioná-los para uma nova página da Web a ser recuperada usando em GET
vez de POST
(por exemplo, uma solicitação de página padrão).
Mas veja esta nota nas definições do código de status - a maioria dos clientes fará a mesma coisa para um 302 ou 303:
Note: RFC 1945 and RFC 2068 specify that the client is not allowed
to change the method on the redirected request. However, most
existing user agent implementations treat 302 as if it were a 303
response, performing a GET on the Location field-value regardless
of the original request method. The status codes 303 and 307 have
been added for servers that wish to make unambiguously clear which
kind of reaction is expected of the client.