When would we need a javascript client template engine?
I'll address your first question.  
You can store data in JavaScript objects (instead of SQL databases, for example). Those JavaScript objects can be stored in .js files, or inline as part of the HTML document. You can take a look at the source code of my w3viewer.com. All data is stored inside a JavaScript array.  
In the example of my web-site, I dynamically create HTML lists with data taken from that JavaScript object (I generate the HTML code string). One could use templating to get this job done.
Recently, I found out that jQuery has an official template engine which was contributed by the Microsoft team.
Also I had heard about jTemplate from my friends, but I'm still confused: 

When & where might I need to use these plugins?
How should I choose between the many client side template engines?