A stored job definition is a the blueprint for a job that is persisted on the Application Server with the intent to perform a job from this definition (repeatedly) at a specific point in time. Stored job definitions can be executed manually, by the job scheduler or as a successor job of other stored job definitions.
Stored job definitions are always owned by the user who last modified them i.e. jobs created from as stored job definition will always impersonate as that user. No user can create stored job definitions for other users.
A user needs the system permission Manage personal stored job definitions (21) to create stored job definitions or modify stored job definitions that he own. Users with the system permission Manage stored jobs definitions (22) can see and modify stored job definitions of other users. Still if a job definition of another user is modified the ownership changes.
Jobs created from a stored job definition will link to the stored job definition they where created from, the other way round you can list all jobs that were created from a specific stored job definition. The owner of stored job definition can list all the jobs triggered triggered from this definition. Users with the system permission Manage stored jobs definitions (22) can also list jobs triggered from stored job definitions owned by other users.
A stored job definition can specify other stored job definitions as follow-ups. When the stored job definition is executed those follow-up jobs will become successor jobs of this job. Note that a stored job definition that is used as follow-up job can still have its own event schedule.
By defining follow-up job definitions for stored job definitions it is theoretically possible to form loops that would end up in an endless execution of the same series of jobs once one of the jobs in this loop is started. The system does not prevent these kind of loops since (in rare cases however) it might be an intended behaviour.