What do you think is the difference between projects, programs and a portfolio?

Projects are undertaken for a specific or a set of related purposes. A program is a set of projects managed in a coordinated manner to achieve different parts of an overall goal. For example the NASA lunar landing program had the development of the command module and the lunar landing modules as separate projects. A portfolio is a collection of projects, programs and even other portfolios that help an organization achieve some common high level business purpose.