This is correct. It's only needed if you're updating to a random commit that's not tagged as a release. Release candidates are tested for several weeks in advance to identify any bugs. So the database upgrade for a release is less risky and thus the database will update for a release regardless of the flag.
If you're installing the latest commit from master, there may be untested new features. Adding the database-upgrade=true flag means you're accepting the risk of a breaking change (you may have to wait for a fix, your node may be inoperable in the meantime.)