If you want you can use Alfresco Share as your Portal. You have Dashlets which could play role of Porlets, you also have liberty to create your own fancy dashlets which could internally fetch information from other external applications.
Main Use case for portal are 1) Provide user based personalized content and 2) Provide centralized collaboration platform to enterprise where data or information from multiple different systems can be displayed in systematic manner.
Whereas
Main Use case for CMS are to convert unstructured contents to structured content and manage them systematically by utilizing powerful Rule Engines as well BPM engines. But main reason for introduction of Alfresco share was to provide collaboration platform on top of Alfresco repository. So, it already have many Portal features out of box you just need to developed those features which you find missing from your requirement
Hope this helps.