It allows you to bring an existing script in a new file.
Note that if you want to import a script in a different version or even in different software (OpenBuidling, MicroStation, etc.) then you should use txt file.
The difference between txt file and gct file is the header:
You can also copy/paste from Text Editor to the transaction editor.
Of course if there are some incompatible objects or scripting used it could cause some issue.
Example: you are using OpenBuilding objects and you import the txt file in OpenRail. OpenBuilding objects are not available. It won't work.