EL keeps the JSP free from errorprone raw Java code and forces you to write the JSP according the MVC ideology. Anything which isn't possible with EL (or taglibs like JSTL) would then technically and semantically belong in a real Java class. That's the most major advantage.