Once upon a time a bunch of people decided to start collecting informative bits about stuff they‘re concerned with into a geo-referenced database. They mapped streets – hence the name of their experiment – and also PoIs. Records consist of a so-called tags, key-value pairs. In hindsight tags are differentiated into a primary tag, a.k.a. the substance/essence and a number of secondary tags, a.k.a. the attributes. There‘d be e.g. highway=secondary; name=Abbey Road.
One of those days, somebody noticed a problem: They wanted to map a so-called shared-space, where pedal cycles and pedestrians both allowed and traffic sings put up to show that intention. One solution might have been to tag a highway=cycleway;footway. Thereby turning the right hand side of the tag into a list. This looked ugly, a tag no longer would code for a 1:1 relation but a 1:n relation. Users of the data do not like that.
Some pondering later, the idea was born: Put the function/use/arbitrary detail of the mapped entity into the attributes where they can merrily coexist. foot=designated; bicycle=designated should from now on convey what previously was told by the primary tag. Only problem left: What would be the substance then? It must be something generic, something that provides as little information as possible over what the highway key already contains.
This marked the inception of highway=path as a light and unspecific shim over highway. All it says: It is probably narrow (But don‘t depend on that.) You likely will not see cars moving there. (With few exceptions.)
So they married, and everyone lived happily ever after.