Why are materials linked to meshes by default?
Who knows what the original reasoning behind this ways, this default was chosen maybe 15 years ago and there has not been a good reason to change it.

To me it makes some sense to share by default. When you have a particular object that you want to give a different material than the others sharing the same mesh, then you're there in the material tab editing things anyway and you can change the linking to object at the same time.

If linking to object was the default, you might make linked duplicate objects with AltD, placing the object in different places in the scene. But now if you want to change the material you have to go and change each individual object.