La diferencia es que con
GET los valores enviados por un formulario, aparecen en el uri de la 2º página, y con
POST no.
Con el método GET, los usuarios pueden modificar los valores de los datos con sólo modificar la url... mientras que con POST no.
Otra diferencia es que el método POST sólo funciona con formularios y GET puede usarse con formularios, o también se puede especificar el la url del documento... por ejemplo:
misitio.com\noticias\ver.php?id_noticia=05
Y si lo que deseas es enviar los datos a un e-mail, usarías el método POST.
En realidad, yo diría que ninguno tiene ventaja sobre otro, sino que uno puede servirnos mejor para algo que otro... por ejemplo, como dice jamesxv7, es recomendable usar POST para enviar passwords y nombres de usuarios, porque de usar GET estos saldrían en la URL.
Saludos.
Gustavo Narea.