To expand on the comments you already received
TDB is an in-memory database backed by persistent disk storage which runs within a JVM and is accessible only within that JVM. TDB stores can only be accessed by a single JVM at a time (and TDB will enforce this restriction) so you cannot use TDB on its own if you need to share data between multiple JVMs
Fuseki is a web server that implements the SPARQL Protocol which is a standard way to expose a RDF database for querying/updating via HTTP. TDB is the database used by default underneath Fuseki though Fuseki can be configured on top of other RDF databases if desired.
Since Fuseki runs in a single JVM it can be used to share access to a TDB database with multiple applications because those applications access Fuseki via HTTP and Fuseki handles all access to the TDB database within its JVM. Additionally since the SPARQL Protocol is a standard you can use Fuseki to allow non-JVM applications to access your TDB database since they simply interact with Fuseki via the protocol and don't need to know how to interact with TDB directly.
To summarise:
- If you only ever need to have one application access a TDB database then you can use TDB directly
- If you need to have multiple applications (or non-JVM) applications access a TDB database then use Fuseki over TDB