Portals are content aggregators, using portlets to display the information from different information systems.
So you can conceivably have a portal with sforce.com portlets that use SOAP to communicate, and then have the AlfrescoCMS Portlet using an API to communicate with some backend CMS on a remote DB.
Your question is actually answered in the September issue of the JDJ, where Julien and I deal with this issue exactly. If you want personalization, security, clustering, caching, etc..., I believe it is probably in your best interest to utilize portal technology. This leaves you with the task of creating portlets to display the markup from whatever information systems you're interfacing with.
With a traditional webapp, you will have to handle all the heavy-lifting by yourself.