Why use joint trees in Graphical Models?
I view junction trees as basically an implementation/analysis tool for doing exact MAP and marginal inference in graphical models.  They are needed so that you can safely localize the effects of of maxing or summing (in the case of MAP and marginal inference) out a variable.

When wouldn't you use a junction tee?  Well, that's the same case as when you wouldn't do exact inference in your model.  Why wouldn't you do exact inference?  In general, because it can be expensive; it's exponential in the treewidth of your junction tree.