The big different between Servlets and Portlets is the focus.
A Servlet/JSP application, in very general terms, controls most of the overall page delivered to a client. With a portlet, the content delivered makes up only a very small section of the overall page. This allows a great division of labour when developing the overall website - things such as themes, skins, layout, user rights, etc, can all be configured outside and away from the actual portlet application - things that are a bit more difficult, although not impossible to do, with a typical Servlet/JSP application.
The JSR168 portlet API does not replace the Servlet/JSP API, but instead, sorta builds on top of it. Look at the various objects in the Portlet API here: All of the Classes in the JSR168 Portlet API Most of those classes are just wrappers for Servlet/API classes. In fact, I think the docs actually say that a portlet container sits on top of a Servlet/JSP container.
A portal server is a great product that fits a big need that many clients require, and it can provide customization, personalization, user rights management and content management features that integrate and can be used quite easily. For many customers, a portal isn't a perfect fit, but for many others it is, and when it is, it's amazing.