Normally, git-annex repositories consist of symlinks that are checked into git, and in turn point at the content of large files that is stored in .git/annex/objects/. Direct mode was a hack to avoid the symlinks.

The advantage of direct mode was that you can access files directly, including modifying them. The disadvantage was that many regular git commands could not used in a direct mode repository, since they don't understand how to update its working tree.

Direct mode has been removed from git-annex as of version 7.20190826. The first time a new git-annex is run in a direct mode repository, it automatically converts it to a v7 repository with unlocked. See upgrades for details about the transition to v7 repositories.