The Windows API grows in evolution steps Windows version by Windows version..
CreateToolhelp32Snapshot is available for Windows XP. PssCaptureSnapshot is available from Windows 8.1.
So the difference will be exactly in what is documented. PssCaptureSnapshot may have more functionality. And in most cases the old API versions just call the new ones with the new functionality in transforming the flags and structures for the new version.
I can't tell this in detail here, but I assume that there is no great difference, if the functionality of CreateToolhelp32Snapshot is enough for you.
For me the primary decision is: What Windows version are you targeting? Windows 7? Than the answer is simple what to use... ;)
Depending on the flags, both functions give you what you ask for...
If we have to check whether the target process is still alive- you need open process handle and use it in callWaitForSingleObject[Ex],WaitForMultipleObjects[Ex],MsgWaitForMultipleObjects[Ex], etc - RbMmCreateToolhelp32Snapshot+Process32First+Process32Next+OpenProcesswithSYNCHRONIZEaccess. but search process by name not reliable way. unclear what process you need. may be exist another way - RbMmPssCaptureSnapshotyou need already have handle to the target process. if you want only get when process exit - for what youPssCaptureSnapshotat all ? - RbMm