pm2 is used to restart the whole NR process, not one particular flow (the original ques asks to restart all flows, not a single one).
I use pm2 for one big reason: my NR process runs inside a docker container, so when my users upgrade a node, I dont want to restart the container itself (its time consuming). Instead, I restart the process using pm2.
There are other benefits like automatic restarts, monitoring etc.