The benefit is because of the following scenario:
* My project has an external to the /trunk of MDBF.
* My project works fine and is tested using that specific revision of the trunk
* The MDBF trunk is then updated.
* My project is then using a different version of the MDBF which isn't tested against my project.
Therefore, it's for reproducibility, a certain snapshot of my project must always be checked-out the same, if the referenced external changes, then it's not the same version of my project.
So one usually references a certain tag (snapshot/revision).
But perhaps this isn't such a great problem, it just means that I will have to look at the history log of the trunk to determine when a change occurs etc and then import that revision into our tree.