Some specific tasks on Drupal-based API development which involves processing third party data like incoming ajax calls or POST requests may require that you will have to deal with these POST params directly somewhere within your drupal code but they might be not be available at the point due to other modules acitions or whatever.
By default, when data flow containing POST or GET values comes to page callback function defined in hook menu, those variables are usually available and accessible.
In some cases, you may want to dynamically insert a new row into your view results, or replace an existing one with the different entity.
Once working on the Drupal project, I faced a situation when I had to access the current loaded node fields in Rules. To be more specific, the content type had an email field and attached entity form. The task was to send the email using Rules to the email address which was set in a node field after submission the attached entity form.
The problem is that the only available fields I had were entity form fields and no fields from the node. So I came up to some custom and quick solution of creating custom Token which would contain the data from the node field.