A workflow definition only needs to be deployed once. When deployed, it remains deployed, even after shutdown and restart.
A workflow definition only needs to be redeployed when the workflow definition has changed. Re-deploying a workflow definition creates a new version of it in Alfresco. The previous definition remains for in-flight workflows depending on it.
If you change <redeploy> to true, this will re-deploy the workflow definition on every startup of Alfresco, even if the workflow definition has not changed. It should only be done when testing, and not for production systems. Remember, a new version is created on each redeploy.