JobHandle.CombineDependencies allows you to combine multiple job handles into a single dependency. For example if you create 5 parallel jobs and you want to wait until all of them are finished you can call JobHandle.CombineDependencies giving it the 5 job handles from your jobs and you receive a single job handle. Waiting on this handle will ensure that all 5 jobs are completed before continuing.
As for adding a job handle to a ComponentGroup i have no solid idea what this is good for and why one would do it. Maybe someone from Unity can shed light on this.