Servlet and JSP have same capabilities. They can be used interchangeably. But the servlets are used for request processing, implementing application logic etc. While JSP is used for presentation only. Servlets have HTML codes in within java codes. While JSP is JAVA codes within HTML codes. Thats why JSP is lot easier in presentation.
> While JSP is JAVA codes within HTML codes
Actually, when doing it the proper way JSP's contain no java code at all, only content and custom tags, most likely from known taglibs such as JSTL, JSF, Struts, etc.
> But the servlets are used for request processing, implementing application logic
Servlets are not used to implement the application logic, you create other classes (DAO classes, POJO classes, Enterprise Javabeans, whatever you like to use) and call these from your servlets. This makes your application logic reusable.