Didn’t look like a mess to me.
Perhaps the confusion comes from following the tutorial too carefully, meaning following the steps. There are multiple ways to go about these things, which is good because you have options but not knowing about them might make one feel lost when following one strict path.
Here’s another explanation, maybe this is more straightforward way to explain and understand
(Here’s the same image in case forum scales the original too much http://www.pasteall.org/pic/show.php?id=80220)
The example task is to add a cube and put a image texture on it. I’ve annotated and numbered the properties editor buttons. The workflow goes through them from left to right, or deeper in the hierarchy if you think it like that.
We would start in object mode, shift+A -> add mesh: cube. It puts a new object in the scene and since it’s a primitive, it also has visible mesh data (vertices/edges/faces). That’s numbers 1 and 2 covered. Next we would like to give it some color so we would go to materials (3) and add a new material. But a solid color is not very pretty so we go to textures and add a material texture (4) which is a image type.
And then the result reminds us that image textures don’t look nice with the default mapping and we got ahead of ourselves, so we would go back to the step after adding the cube, UV unwrap it in edit mode, and we get a UV map in object data (2). It gives us controllable mapping between 3D object surface and 2D texture.
So the order is add object (with its data), edit mode to unwrap as a preparation for image texture which neatly puts it in object data, then material, and then material texture. On that texture we would go from top to bottom: tell it’s a image type, then tell it to use UV mapping, and then how to influence the material.
Could also think them backwards as how those influence each other. Texture influences material properties (color, specularity, mirror, etc), material influences the mesh (you can have several assigned on it), and mesh influences object (object structure).
Sharing/linking is just a semi-automatic way to save resources - you don’t want a new copy of everything every time, it would be wasteful, and you certainly wouldn’t want to go through the process of setting materials and textures again and again. Blender exposes this functionality so that you can use it to make changes on how those resources are shared and what they use as a source.