It is useful to use this technique in case you need, for example, to 
make changes and keep track of who made them. In fact, without this functionality it would 
result that all the changes were made by the default 
user of the workflow engine and not by the real user. Using impersonation will also respect all the 
grants of the impersonated user, improving security.
In order for impersonation to be successful, the user running the workflow must be 
configured to be able to impersonate himself in all or in a list of users. It is possible to return to the 
starting situation 
using the 
Deimpersonate activity which allows you to return to execute the workflow with the default user of the workflow engine.