The main advantage is to make it easier to extract using an xml-like api. But at what cost? "5gm" is way easier for people to type so it will always dominate in real text.
In my mind, markup is useful for adding context that is hard to extract from the text alone: things like groupings, context, delimitating chapters or articles, etc… I wouldn't use it to declare something to be a weight. You use it to add things that are unspoken otherwise. In the <meter> example, it actually lets you convey previously unknown things such as the min/max range.
Maybe if the whole world cared a lot about the differences between different kinds of weights and it was very hard to get from the context of the text, like <catweight> vs. <dogweight> or something, it would be worth marking up. Markup is a form of metadata.
Using these small terminologies will help us create a semantic web and help in understanding things better.