Well, consider you as an IT service provider signed a deal (~size of USD 10 Million) with your esteemed telecommunication client. Assume this deal includes all the operations pertaining to Information Technology (IT) and Information Technology Enabled Services (ITeS).
Now, how will you as a "service provider" identify this deal? Will you consider this deal as a Portfolio? or as a Program? or as a Project?
It depends is the answer. Right? But, it depends on what? It depends on your internal policies defined by your own organization. It could be for various reasons such as easier tracking, easier accounting cycle, etc. Let us look at each of the scenarios separately.
You might consider the entire deal as a project and create sub-projects based on activities or by domain - for example, you would name the main project as 'Fictitious Telecommunication Company, Norway'. And create many sub-projects under the main project like 'FTC - Adaptive Maintenance', 'FTC- Corrective Maintenance', 'FTC - Billing', etc. You see, these are sub-projects now. It does offer value to your Customer.
Your company would need to manage it as a program rather than projects. Why? That's your way of handling the business. Okay, so you create a Portfolio by named 'Fictitious Telecommunication Company, Norway'. Later, create programs under the portfolio and name it as 'FTC - Adaptive Maintenance', 'FTC- Corrective Maintenance', FTC - Billing', etc. Under these programs you will further create the projects that would possibly say 'FTC - Data Warehousing', 'FTC - Open Systems', etc.
Now you see, they are further decomposed for further tracking and monitoring.
At times, you might mirror your organization setup as per your Client's requirements. This is because your Client would want you to mirror it exactly as-is. You cannot say NO and no businessman would say so.
Kindly understand, whether it is a portfolio, or a program or a project, the plain objective of these segregation is to provide value to your esteemed Customer. Nothing else. All these segregation is all virtual and can be applied in various ways to achieve the results.
Hope this helps you understand the context better. Should you need more information, do not worry, just shoot.