The problem with $REQUEST is that if you receive a cookie named "foo" with a value of 1, a form POST value named "foo" with a value of 2, and a URL variable named "foo" with a value of 3; you will have only one $REQUEST['foo'] variable with either a value of 1, 2, or 3 depending on the current setting of a couple different configuration directives (request_order or variables_order).
Therefore $REQUEST is ambiguous as to the data source, whereas $GET, $POST, and $COOKIE are specific. The vast majority of the time the specific array is both completely sufficient and also helps remind you what the data source is when reading your code. The rare case where you actually need to use $_REQUEST will probably become self-evident should it ever arise. (I don't think I've ever used it.)