Hola:
jsp/java permite crear tags, así que puedes crear tus propios tags o puedes usar librerías ya hechas de tags
http://docs.oracle.com/javaee/5/tutorial/doc/bnalj.html
No es muy habitual hacerse los tuyos propios, ya que al haber muchas librerías ya hechas, siempre hay lo que necesitas.
La librería de tags que ofrece sun (oracle), es la Java Standard Tag Library (JSTL)
https://jstl.java.net/ y su uso es muy habitual, por lo que no está de más que juegues un poco con ella.
Otra menos conocida la ofrece Apache
http://tomcat.apache.org/taglibs/ y a poco que busques en google encontrarás más, como
http://jakarta.apache.org/taglibs/sa...doc/intro.html que pretende suplir carencias de JSTL.
Y prácticamente cualquier framework que uses (jsf, spring, structs...) tiene sus propios servlets y tag libraries.
Imprescindible no es, como no es imprescindible aprender servlet si sabes jsp o no es imprescindible aprender jsp si sabes servlet (cualquier cosa que hagas con jsp puedes hacerla con servlet y al revés). Son simplemente herramientas pensadas cada una con un propósito y facilitar las cosas, una vez aprendes una, te resultará difícil vivir sin ella. Para una buena separación vista-lógica si necesitarías aprender JSTL o algún Framework. Si usas un Framework, como ya viene con sus propias tag libraries, posiblemente no necesites JSTL.
Se bueno.