A constant will be compiled into the consumer as a literal value while the static string will serve as a pointerreference to the value defined.
As an exercise, try creating an external library and consume it in a console application, then alter the values in the library and recompile it (without recompiling the consumer program), drop the DLL into the directory and run the EXE manually, you should find that the constant string does not change.