Installing from GitHub is a pain and if you upgrade packages and freeze into requirements.txt you can't tell which versions you've overwritten. You can easily stuff this up with a deploy script.
The problem is that it can be used in both a deterministic and non-deterministic way (no version-specifiers specified, not all sub-dependencies listed). People want the best of both worlds.
This facilitates that.
But since you use one virtual env per project, you don't overwrite anything.