Labeling is a very powerful metadata tool, with many plugins being developed to manage labels on pages, spaces, and everything else.
As metadata, however, a label is one-dimensional, and that dimension is Boolean: either the label is present, or it isn't.
The metadata plugin supports tagging pages with name/value pairs, and even updates the Lucene search indices, so that a search for Name:value yields pages that contain a matching metadata tag. However, other operations that use labels don't generally work for metadata tags, particularly the wide array of plugins, because attempting to add a metadata tag via the labeling UI evokes a complaint that the colon separator is an illegal character. Strictly speaking, of course, this isn't true, because labels can be prefixed with "my:" without complaint.
If the metadata plugin were to use the labeling subsystem's storage space, and filter (as it does today) values that have syntactic elements used for metadata tags, then metadata tags could take advantage of all the plugin support that today is being offered for labels, which are, after all, just one simple subset of metadata tags. Thus, instead of replicating all of the labeling plugins' enhancements in the metadata plugin (such as one thing that I really want right now, which is the ability to put metadata on a page without having to invoke the plugin on the page itself), it comes for free as a part of labeling.
If the name field of the name/value pair could be qualified with an XML namespace, this would open vast possibilities, but it really deserves its own issue, which will be moot unless this basic idea is approved.