Versions let you save a copy of the current configuration of a container so you can go back to a previous version of a container if you need to do so.
You have the choice to not publish it yet, which will give an opportunity for other users to see the modifications you performed and to provide their feedback. It also makes it easy to recover from mistakes, and lets you easily find all previously deployed tags, triggers, and variables. Once you are happy with your current configuration, you can publish it to a specific environment (Dev, Staging, Live).

For example, you may want to deploy your tag first to a « test » or « staging » environment to make sure the current configuration works before making it available to everyone using the live environment.

You can also import / export containers within the version menu.

Previous FAQ: Preview / debug a tag manager container