Matt,
The single-process shared variable (non RT FIFO) is basically a global variable, while the RT FIFO version uses a different mechanism to pass data, similar to the RT FIFO VIs. The RT FIFO version is designed so that a reader will not block a writer or vice versa. This allows you to have a time critical thread that writes to the variable and a different thread that reads from it without causing resource contention. The non RT FIFO variables have protection built-in, that is, they if you are reading in one loop it will block any other access to that variable.
I hope that helps. You can read more about shared variables
here.
G