JSP's are 'good' at outputting HTML, but they get nasty if you put too much code in them. Therefore they work well for display (html) but badly for logic (ie heavy code). There are other strong reasons why separation is a good idea, but this is the basis for the difference in JSP/Servlets.
I don't mean to disagree, just to disagree, but my view is that servlet and jsp are, in end effect, exactly the same thing. Both take the form of the controller in MVC (the browser is the view). It is simply that many programmers are more likely to stick business logic into the servlet itself than they are to do so in a JSP. It is wrong to do so in either case, at least from the MVC program design. But, then again, that is still only one possible design model.