A project is a coherent subset of the image that can be filed out (swapped out) into a file to be filed in (swapped in) at a later time to save on memory usage.
A project is a World with its own changeset to keep track of its own morph hierarchy and code changes.
"A project is everything you see on a screen" [1]
Projects are similar to pages on the internet [2]
Projects can be considered to be Squeak components.
A MorphicProject fills the screen with a PasteUpMorph and its Morphs.
You can save a project with its World Morph and submorphs to a file or a server by choosing an option of the World menu. A pr file is generated. To pass the project on you only need this '.pr' file. (from an email by Andreas Raab) [This works only in certain versions of Squeak]
An EtoysPlayer may be associated with the WorldPasteUpMorph of a project. The script of the player is run when the project is opened.
Multiple desktops
Projects in Squeak are a kind of hierarchical multiple-desktop setup, where subprojects of a project are displayed as thumbnails in little windows on the desktop, which when clicked, enter the displayed subproject. The main desktop menu allows you to navigate among all the projects in the image.
(Source)
Use of projects
A suggestion how to use projects: You might have a project called 'X' and then another project called 'X explanations' where you keep the explanations (open browsers, workspaces and notes about project 'X'). And maybe a third project called 'X tests' where tests are constructed.
Note that in Pharo and Cuis projects have been removed. However there is an add-on for Cuis and also for Pharo which adds it again (all projects have the same change set)
[1] Dan Ingalls writes in The Squeak Image: Projects are used to capture and switch the entire display state. Therefore they store much of the state (When are the deferred UI messages processed? or ScheduledControllers, Transcript, and Display depth).
[2] Squeak 3.8.1 release notes
Projects are separate worlds within Squeak, similar to pages on the Internet. In fact active projects can be shared over the internet just like web pages. We have included a number of demonstration projects in the 'Worlds of Squeak' window. Other projects may be found by selecting the 'FIND' button under the Navigator tab at the bottom of the screen.
A project object with the objects it collaborates with (they are held in instance variables):