There are two related sources of potential confusion that show up in math a lot.
One is when you have different representations, but think of them as the same thing. We usually encounter this first with fractions: 2/4 is "the same" as 1/2. The problem gets even worse when there is no canonical representation, like there is with fractions --- a fraction in "least terms" is that canonical form. Vectors can be written in various ways in different coordinate system, but often there is no "best" coordinate system to be found. This notion of different-representation-same-thing becomes so commonplace that it's just a tool in the toolbox. We quotient sets by equivalence relations, glue together topological spaces, take colimits.
The other --- and this one is more subtle, I think --- is when you have different things, but they happen to have (under some circumstances) the same representation. This is more familiar in computer science: I have 0xff00 in my register, and it could be interpreted as a number or a pointer or a bitvector. The type-theoretic mindset says that it's worth separately keeping in mind the different things that could be represented, even though they happen to have the same representation. In linear algebra, the little arrays of numbers you write out for Mij and Nij and Pij could all be exactly the same numbers in the same places but those are different objects because of the co/contravariance of their indices. Category theory is also intimately aware of this confusion, because it urges that you pay attention to the morphisms, and not just the objects. The way we tell that Mij and Nij are different is looking beyond their mere representation, and look at how they behave under coordinate changes, and what functions they admit between one another.