Compared with the Variable Elimination algorithm, when does the Junction Tree algorithm work better? For what kind of graph structures? Size of the problem? Sparsity of the network?
You may wish to take a look at the paper by Cozman (2000)1; the following is taken from the Introduction.
One of the advantages of junction tree algorithms is that it is possible to efficiently compute marginal probability values for every variable in a Bayesian network. Algebraic schemes like variable and bucket elimination compute marginal probability values only for a given set of variables.
An attractive property of approaches based on variable elimination is that they are relatively easy to understand and to implement. Junction tree algorithms are quite complex in comparison, demanding long digressions on graph theoretic concepts.
 Cozman, F. G. (2000). Generalizing Variable Elimination in Bayesian Networks. Workshop on Probabilistic Reasoning in Artificial Intelligence, Atibaia, Brazil.