Process Data Objects
That can be shared across activities in a process. There is no confusion in this I hope.
Project Data Object
This can be thought of as a ‘Global Variable’ that are shared across processes in a BPM Project and carry the same value across Processes. But this is NOT TRUE. We use Project Data Objects when the same variable is used across Projects. For example, a variable empId is required across multiple processes you have in a BPM Project, but each project holds its own values, then instead of defining the same object as Process Data Object in every process, one Project Data Object should be sufficient.
Hope this clears the myth !