The original WoW developers decided that there would be an array to hold
your inventory. The first several entries are things that end up on the
paper doll, your head and leg slots and such. After that comes your
inventory. At some point they wanted to add a bank to the game, so they
added that to the end of the array. Players shouldn’t be able to access
their bank anywhere in the world, as it would break the code. This was
handled by adding lots of statements in different places in the code,
defining what the array position was where the inventory ended and where
the bank begins. This value was hardcoded all over the place, but it
isn’t just a simple search to find them all. Some math logic may rely on
it being constant. If you want to add slots to the backpack, who knows
what you are going to break? It becomes very buggy and error prone, and
likely that you are going to make a mistake. This mistake would break
the game in a way you don’t like. As a result, they would have to put
amazing engineers that could be working on new features on a task to
look through thousands of lines of code to find all of those cases, as
well as the QA department testing every edge case in the world to ensure
the change doesn’t break anything. This is how we ended up with a fixed
size backpack.