Before JSTL, companies who wanted to write JSP pages without scriptlets had to either implement and maintain their own set of custom tags for common tasks such as iterating over data structures or use third party frameworks such as Struts. This caused a lot of duplication of effort and caused JSP pages to look very different from project to project which increases the ramp up time for new developers at any given company; even if they already had JSP experience.
JSTL (as its name suggests) standardizes the behavior of the most commonly written tags. Now a company can download and install any spec compliant implementation of the JSTL and use them. The most popular implementation can be downloaded here: http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html
JSTL 1.2 is part of the Java EE 5 platform.The JavaServer Pages Standard Tag Library (JSTL) encapsulates as simple tags the core functionality common to many Web applications. JSTL has support for common, structural tasks such as iteration and conditionals, tags for manipulating XML documents, internationalization tags, and SQL tags. It also provides a framework for integrating existing custom tags with JSTL tags.