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 solicitação POST
para um recurso GET
(caso contrário, o cliente assume que o método de solicitação para o novo local é o mesmo do recurso original).
Se você estiver redirecionando um cliente como parte de seu aplicativo da web, mas espera que ele sempre inicie no aplicativo da web (por exemplo, um encurtador de URL), um redirecionamento 302 parece fazer sentido. Um redirecionamento 303 é para uso quando você está recebendo POST
dados de um cliente (por exemplo, um envio de formulário) e você deseja redirecioná-los para uma nova página da Web a ser recuperada usando GET
em vez de POST
(por exemplo, uma solicitação de página padrão).
Mas veja esta nota das definições do código de status - a maioria dos clientes fará o mesmo com 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.