With "direct" the connection to the database is made directly to the file itself on the disk, there is no intermediary daemon or process. The "direct" approach is purely read-only.
With "bus" the tracker-store process is used to liase with the database queuing all requests and managing the connections via an IPC / D-Bus. This adds a small overhead BUT this is the only approach you can use if you want to write to the database.
With "auto" the backend is decided for you, much like it would be if this environment variable was undefined.