They all do the same things (Basically).
They allow the programmer to specify shift points, A/F mixture at different throttle positions/RPMs, regulate the fan on the radiator, and some more fancy stuff. All of the changes are made to the firmware on the PCM/ECM.
The difference is that the VEC and the SCT can change the program anytime by hooking it up to the ECM, the PCM/ECM Flash is a "permanent" program change. (Meaning that you have to send the PCM back to the programmer if you want to change the flash.)
That's it on a basic level.