Basically, it computes a fingerprint of each large file (large = too large for Git) and commits the fingerprint to Git, while the large files are stored on some remote location of your choice (AWS S3, local, cache...). So you have Git commands to update your fingerprints, and the same commands with dvc (add, push, pull...) to interact with the large files. Quite simple and neat actually.
We've started using it as a replacement for git LFS for different projects internally, not especially for Data Science, and we're very happy with it. Works like a charm with Linux, Mac and Windows.
We had troubles with setups on different OS, hard to understand error messages, and in general had to use multiple repos, some with Git LFS and some with "standard" Git and combine each, which was a mess. We ended up deleting the local clones and re-cloning quite often, and playing tech support for less technical colleagues.
Also we realised we don't really need a word- or even line-level diff, but we just want to know which files have been modified (e.g. large binaries). So maybe we shouldn't have started with Git LFS in the first place.
DVC allowed us to have everything in our monorepo, kept in sync, without having people to install Git LFS before they clone the repo. You don't have to pull the large files if you don't want to or don't need them for your personal work. In general I think you're more flexible in terms of local and remote caching and sharing of these large files IMHO. If network is an issue (technical or money-wise) it's pretty useful.
I am sure there are more reasons for and against DVC, but it worked surprisingly well for us, the support on Github is super reactive, and so far we couldn't find a reason against it for our use case.
My experience with Git(hub) LFS was that it doesn't work with files that are several GB in size. Was constantly getting upload/download errors from Github.
If you change organisation and were working on a closed source project, you lose everything. You need to keep your notes on a higher level though (i.e. not describing confidential information). Plus I believe that a commit is generally only covers the third point ("Describe the process of carrying out the method").
https://www.iea.org/commentaries/the-carbon-footprint-of-str...