Infinispan's primary API - org.infinispan.Cache - extends java.util.concurrent.ConcurrentMap and closely resembles javax.cache.Cache from JSR 107. This is the most performant API to use, and should be used for all new projects.
org.infinispan.tree.TreeCache is a tree structured API that looks a lot like JBoss Cache's API. Note that the similarities end at the interface though, since internal implementation and representation of the tree is completely different, using a much more efficient flat structure.
TreeCache should be considered as a compatibility API, if you are migrating from JBoss Cache and cannot invest the time in rewriting your application, or your application specifically relies on a tree structure.
An API for fine-grained replication is planned. This will provide the same benefits of JBoss Cache's POJOCache variant, but far simpler and more robust. It will not rely on bytecode weaving or AOP, and present users with a much more familiar JPA-style session interface. When released, the fine-grained API will sacrifice performance, but give you cache data organization and fine-grained replication. This organisation inevitably involves heavy use of reflection, proxies and comparisons, and isn't nearly as efficient as more explicit use of the Cache API.