You can update variables for a file without having to check the file out and increment the version of the file when you check it back in.
This lets you update variables that change over time, such as cost, while the file itself may not change.
Additionally, you can change the variable even if the file is in a state where you do not have permission to check it out.
A new version of a file is created if you update version free variables for a checked out file.