JSP is good because it is faster than interpreted languages.
JSP files are called with compiled servlets that are used to send results to browser and they are not parsed by the server everytime they are requested such as PHP.
Java is good for large and complex web applications.
Other languages that are interpreted will be slower because they seem to be parsed by the server everytime they are requested.
Also JSP has very good security.