Java-technology-based web component, managed by a portlet container that processes requests and generates dynamic content.
In common terms a portlet is a tile in a portal, a component of a composite web page. Official definition is
Java-technology-based web component, managed by a portlet container that processes requests and generates dynamic content.
which is cited at least on this reference.
Every portlet technology implementation follows JSR 168 and JSR 286 specifications.