Tangaroa is a relatively new project adding Byzantine fault-tolerance to the Raft consensus protocol using techniques that were already used in the PBFT algorithm. What are the advantages, when should I use Tangaroa and when PBFT?
The notion of perfection in consensus:
Tangaroa is a BFT flavored Raft usually consisting of 3 - 5 systems in a cluster and can tolerate failure of up to 1/2 of the node count with a concept of "randomization in election of leadership".
PBFT is the "practical" BFT system designed for more deterministic behavior with a concept of "eventual leadership". However, I came across this research (https://www.zurich.ibm.com/~cca/papers/sieve.pdf) mentioning "Fault-tolerant execution on multi-core servers poses a new challenge, even for deterministic applications, because thread-level parallelism may introduce unpredictable differences between processes." in Related Work.
Choosing which one? I'd leave that to you once you'll be able to determine the nature of the state machine you'd like to see operational.
Hope this helps :) Comments and corrections,(if any) are most welcome!