Используйте taglib, когда у вас есть логика представления, которую было бы слишком сложно или невозможно кодировать с использованием JSTL, и вы не хотите использовать скриптлеты (Java встроена в страницу). К сожалению, написание taglib довольно сложно, поэтому на практике это делается только тогда, когда это действительно необходимо.
О да, и, конечно, СУХОЙ:)