I read that EL comes with Tomcat 5.5 but it doesnt include JSTL.
Yes, since JSP2.0, EL was taken out from the JSTL specification and became part of the
JSP specification, so JSP2.0 containers must support it. Since JSP2.1 (Tomcat6.x), EL even has its own specification.
What is the difference between EL and JSTL?
That may a bit long to explain
JSTL is a set of tags which allows you to do things like iterate through collections, set scoped variables... EL is used to read scoped variables, do some elementary operations, and provides a set of implicit object like request, session... JSTL and EL allow you to write JSP without scriptlets.
Don't miss
this FAQ, which explains you how to use EL and JSTL.