The general purpose behind the use of a "Local Process", processes with names that start with a dollar sign ($), is to allow the developer to create processes on a client without the creation of the "twin" processes on the server. This is one tool developers have for managing the number of processes the server has to contend with.
The documentation states: "Local processes should be used only for operations that do not access data. For example, you can use a local process to run an event-handling method or to control interface elements such as floating windows." So, the decision point is if there is no data needed from the server during the execution of a process it can be created as a "Local Process."
With the introduction in 4D v12 of the "External Database" the intended purpose of the "Local Process" can be maintained while providing it with added capabilities by using the new SQL command USE DATABASE DATAFILE. By incorporating the use of USE DATABASE DATAFILE within a "Local Process" to query data from a local external database, what was a process with restricted roles can now have expanded purposes while maintaining the intended low footprint on the server.