If you look at the OOTB jobs and processes the processes typically address less data that jobs. Eg. approve and idea or document while the OOTB jobs are there to process data to take it further in project management functionality or to keep the data updated in different areas of CA PPM. Eg. posting of timesheets, transaction posting, investment allocations and time slicing. The jobs are related to java code, SLQ stored procedures and other such like which is then run in the background when the job scheduler launches the job. Typically a new job to do something new cannot be created in the GUI and my understanding is that custom SQL's, jar's, XBL's are not supported. As far as CA PPM goes (BO) reports are also jobs and creating new reports and running them on the other hand is supported.
Processes can mostly be created in the GUI and mostly supported with the exception of direct updates to database with GEL and custom java code. However, people do those.
To me the difference is that when you want to be supported and want to automate something you can do in the GUI and there is no job to do that you can create a process. When you want to process data according to the standard functionality, but at your choice of time and maybe a subset of the data if there are parameters for that you would use a job. Eg an additional timesheet posting for the timesheets that missed the weekly job.
If being supported is not an issue it depends on the personal preferences and skills of the specific developer.