I would also say take a look at Vandevoorde and Josuttis' "C++ Templates, The Complete Guide". There are a large number of examples of when TO use Templates, and of course hoe to implement them.
...