A texture atlas is an image that contains data from several smaller images that have been packed together. Instead of having one texture for one mesh, you have a larger texture that several meshes share.
A texture atlas can be created before making the asset, which means that the asset is UV unwrapped according to the texture atlas. This requires some early planning when creating the texture.
The texture atlas can also be created after the asset is finished by merging textures in painting software. However, this also means that the UV islands must be rearranged according to the texture.
A UV island is a connected group of polygons in a texture map.
The following image highlights several 3D objects using one texture set:
Texture atlasing enables batching for several static objects that share this texture atlas and the same material. Batching reduces the number of draw calls. Fewer draw calls results in better performance when the game is CPU-bound.
The Unity game engine has a feature that does batching when objects are marked static. This is done without having to manually merge the objects. Further information on this can be found on Unity's website.
Texture atlasing also requires fewer textures inside the game as they are packed together. With compression, this helps to keep the memory cost of textures down.