playSound is not local. It will play the sound at every player location so you can be on the other side of the map and you will hear it as if you are right next to the sound.
Say will make the unit "say" the sound only as loud as defined in CfgSounds in the descriptiopn.ext or #include so you have to be relatively close to hear it. So it is local per se, but the unit saying the sound does not have to be local to the player hearing it.
createSoundSource will only play sounds from class sound inside CfgVehicles. So unless you choose one of those predefined sounds, or create your own via an addon, it will not play a sound (and may cause errors I assume)