Hallo Guillermo!
Habe ich noch nicht verstanden.
Du kannst Formulare auf 2 Arten übermitteln: GET (die Formulardaten hängen an der URL dran) oder POST (die Formulardaten sind im HTTP-Header untergebracht). Nun kannst du deinem Skript sagen, dass es z.B. explizit NUR per GET übermittelte Formulardaten annehmen soll, dann verwendest du das $_GET, bei POST umgekehrt. Und wenn es dir egal ist, wie die Formulardaten zu deinem Skript gelangen dann kannst du das $_REQUEST verwenden, weil es einfach das nimmt "was da ist".
[...] bzw. einen Grund das eine oder andere zu verwenden?
Ja gibt es. Ein Beispiel was mir so spontan einfällt: Du möchtest sicher nicht, dass ein Formular mit Passwort-Feld per GET übertragen wird weil damit das Passwort im Klartext in der Adresszeile stehen würde bzw. sogar in der History zu finden wäre. Und um das gänzlich zu vermeiden, dass keine unsichen Passwörter, die in der Adresszeile stehen, anzunehmen verwendest du einfach $_POST statt $_REQUEST oder $_GET damit du auch wirklich NUR die sichere Methode über POST akzeptierst.
MfG,
Mirko Hansen