Why drush needs a stage server I have seen a lot drush setups in the past and every setup had a stage server configuration Is there a reason why thay have 


a development server
a stage server and
a productive server


What are the advantages if you have a sage server and must there be such a server osr is this optional?
There are a number of scenarios where having dev, stage and live are useful.

Example:  minor updates.


Run drush pm-update on dev, test and make sure everything is okay.
Push your code to stage / test, run drush updatedb, and make sure everything is still okay.
Push your code to live, run drush updatedb, and confirm everything is still okay.


The point here is that the operation of 1. and 2. are slightly different; by testing your deployment on the stage server before bringing it live, you can confirm that the deploy will go okay (i.e. there are no uncommitted components on the dev machine, or all state needed for a successful deploy is part of the deployment process.)  If you did not test this, then you'd break the live site if you forgot to commit an important file, or otherwise did not faithfully update the components used in deployment.