Yeah, I didn't mean to suggest the path tag shouldn't be used, just be aware that changing the feature type of an existing way to Path without adding other tags is potentially a downgrade of data. If adding "bicycle=yes" to a footpath works for your purposes, it might be a better description of ground truth in some cases.

>  Especially considering the default tags for "path" include bicycle=yes and for footpath they include bicycle=not specified.

But either way it requires additional action to actually include all desired tags, so I wouldn't base *too* much on that. Ideally the goal is to get the best match between reality and the most commonly agreed upon usage of the (sometimes confusingly named) tags. 

The importance of a surface tag obviously depends on the situation, but it's a good thing to add to generic paths. The discussion I linked (it happened to be cited on the path wiki page) was about rendering, but nowadays it's probably more important to keep routing algorithms in mind, because they can't really infer things from context the way somebody looking at a map can. Another case where I might make the extra effort to add a surface tag would be where the situation is not what somebody might reasonably assume, like a "connection" from the Chandler path to a street over a loose dirt incline. There's generally no need to get fancy with surface types, in most cases just distinguishing between paved vs dirt is enough to clarify what "path" means.