Packing textures is an optimization method to speed things up. However in some cases it doesn’t make sense, like your apartment scene. Better to tile a single small seamless carpet texture across that floor.
In just about all games, levels use tiled textures, while characters use the carefully packed textures.
In a decent game engine, as soon as no triangles use a particular texture, that texture is dropped from memory and others are loaded in. Packed textures allow the game engine to reuse a texture that is sitting in memory, as long as there are triangles being drawn that use that texture.
When you pack a bunch of textures into one, that means the engine has to fetch textures less frequently, which leaves more room in the video bus bandwidth to send other data, like verts or shaders, which can speed things up.
I think that’s right. Shoot me if it ain’t.