Tach!
PHP macht das was man eigentlich nicht machen sollte: Es verschleppt den Transport-Layer in die Anwendungsschicht! Dadurch nämlich daß $_POST, $_GET zwei verschiedene Arrays sind, ist der Anwendungscode vom Transportlayer abhängig und somit ist dieser Layer nicht mehr transparent.
Wenn es dir egal ist, über welchen Weg etwas reinkommt, dann nimm $_REQUEST. Es ist aber nicht immer sinnvoll, alle Kanäle zuzulassen und zu bündeln, weil das unter anderem sicherheitstechnische Auswirkungen haben kann. Beispielsweise nimmt man an, man bekommt Daten per POST, ein Hijacker schafft es aber die URL zu manipulieren und sendet sein Zeugs im Querystring. Wenn die Anwendung nun auf $_REQUEST zugreift, hat sie sich ein Problem eingehandelt. Beim expliziten Zugriff auf $_POST ignoriert sie den Versuch, über $_GET etwas einzuschleusen.
PHP kann nicht entscheiden, ob der Anwendung die Quelle egal ist oder auf diese Quelle Wert legt. Das kann nur die Anwendung selbst wissen und muss deshalb Zugriff auf die Transportinformation haben.
dedlfix.