When NetworkManager has a device activated, then it assigns the device a metered state. This state gets exposed on the D-Bus API of NM. It is one of "yes", " no", "guess-yes", "guess-no" and "unknown". The state gets determined based on "connection.metered" property of the profile that is currently active -- what you saw in the GUI.
If you leave the profile setting at automatic, NM will guess the metered state of the device. For example, Android phones will set a special DHCP option when you share the internet via WiFi, or modem connections may be guessed to be metered. Anyway, NM tries to detect it.
NetworkManager also exposes one global metered state by combining the metered state of all the devices. This is basically the metered state of the device with the best default route. Applications probably will only care about this combined state.
Other than that nothing happens. It's up to each application to use and react on this information. For example PackageKit/gnome-software/dnf/apt could decide not to download packades while being in a metered connection. It's really up to other applications to honor this.