The old-school way of doing this is with the promoted builds plugin where the promotion does the deployment.
The main problem is that it can be exceedingly tricky to ensure the correct artifacts are deployed once subsequent builds have completed (on the other hand once you solve that problem, rolling back production is just re-promoting the old build)
With workflow these problems are much easier to solve, and as you can resume from a specific stage you still have the rollback option.
The other advantage with workflow is that it is more "obvious" to the users... With a job using promoted builds it is not super-obvious that you can promote nor that you should... A pending user input step in a workflow is much more "in your face"
--
Sent from my phone