People are adopting different organizations according to what they produce, in what context.
If you create a material asset, you create a texture that will be embedded in the material, with the idea that texture mapping will be adjusted to object using material.
If you create a character asset, you may create one texture for the whole character to export it in game engines or multiples textures with variable resolutions to create high resolution renders of close-ups of character.
If you create an environment, you can have several props using same texture, simply because they are supposed to be made of same material. Or they can have same texture because the idea is to have a coherent whole, fast to render, with baked shadows. But the environment can simply be an assembly of props thought, separately.
So, that is, most of the time, a trade-off, between time spent to organize and use quickly resources, and time to gain by optimizing in-game performance or rendertime performance.
It is not rare to use both on same project. Initial textures for assets thought individually and a derivative texture thought to match requirements of projects.
The same way, you can have meshes thought for kitbashing, used for prototyping, that are ending up remeshed, modified.