Processes can be used both for inter-application coordination between multiple existing applications (inter-application processes), as well as for intra-application coordination between users within a single application (intra-application processes). Process engines execute process definitions, coordinating work between users and systems by distributing tasks. While state machines control the state of a single entity, processes can involve multiple entities and coordinate work across users and applications to achieve goals. Process engines provide benefits like code and analysis comprehensibility, consistent authorization, and process monitoring and reporting, but also risks like wrong process modeling and updating existing process instances.