Thanks for this very informative post. I tried your suggestion and found that in Joomla! 3 it is not necessary to pass any value. In fact i could load what i wanted to load via this code:
$app = JFactory::getApplication();
$request = $app->input->request;
$post = $app->input->post;
$get = $app->input->get;
$jrequest = JRequest::get();
$jpost = JRequest::get('post');
$jget = JRequest::get('get');
echo '<pre>jrequest: ' . print_r($jrequest, true) . '</pre>';
echo '<pre>request: ' . print_r($request->getArray(), true) . '</pre>';
echo '<pre>jpost: ' . print_r($jpost, true) . '</pre>';
echo '<pre>post: ' . print_r($post->getArray(), true) . '</pre>';
echo '<pre>jget: ' . print_r($jget, true) . '</pre>';
echo '<pre>get: ' . print_r($get->getArray(), true) . '</pre>';
jexit();
The results are equal ... for Joomla! 3. Dunno how this behaves in J! 2.5