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.