The only reason i can think of to do that is if you could get data coming in in both arrays that could over-write each other like above and you want to keep it. But even so array_merge is pointless cause it will overwrite it just like the $_REQUEST global!
I'm not quite sure what you're asking, if you're asking for the philosophy of life for a php function and 2 global arrays im not sure there is one, array_merge joins 2 arrays together, the $_GET array takes variables from a GET request(variables in the url eg page.php?id=5&new=true), $_POST takes variables in from a POST request which is sent in the HTTP request headers (id=5&new=true).
Very similar things GET holds much less data and is visible in the address bar and history etc and POST can hold much more data (which can be set in the php.ini file its default is 1kb) and is much more hidden client side.
If you're asking for a real world example, i have never joined together the post and get arrays. I use POST for receiving user submitted data and GET is generally for viewing already existing data.
addproduct.php would use POST
viewproduct.php?id=5 would use GET
On a page where you could both view and submit data such as a forum/blog comment - the thread id in the url(GET) and your comment/post(POST) even then you know which is GET and which is POST so there is still no need to join them the id is usually passed into a hidden input field so even the thread id is POST too.
The only time i can imagine using a post & get merge is for ease of use such as a function/app written for other php developers where people can just throw their data at it however they like, post or get, and it pulls the data and runs, much like the files you first posted