Poly refers to a polygon face on a mesh (3d model), these usually take the form of Quads (which are the easiest shape to work with in a 3D suites) and Triangles (aka Tris, the simplest polygon face and how 3D models are always drawn by the GPU). If a face has more than 4 sides it is considered an nGon, which can cause artefacts and issues when the GPU attempts to break it down to triangles when rendering and should always be avoided.
The amount of polys or tris a model has is one of the most basic measures of its cost for the GPU, as every frame the GPU will need to trace every triangle of a mesh and shade that mesh to generate the finished frame. Higher poly count models can afford greater detail on a model, but they will take longer to render which will negatively affect framerates. You should always be mindful not to waste tris and to consider the necessary detail of a model, how it will be viewed, and what must be done on the mesh or what could be deferred to a texture.
It is common for artists to be given a budget or target for tri counts for assets and to produce LODs for aiding performance.
http://wiki.polycount.com/wiki/Tri_count
LODs or Level Of Detail Meshes, are variants of a mesh at different tri counts which are loaded in and out based on their distance to the camera. This is so as not to waste tris on details which are not visible at that distance.
It is also possible for different LOD meshes to have different, more simplified, materials on them. Such as swapping out a cube mapped window with a false interior for a flat image or colour as we get too far away to recognise the depth, in order to reduce shader complexity also, MipMapping will also come into play.
Textures need to be stored in our games, not only on the hard drive as full size images, but also inside VRAM when being used on a model. As such the size of a texture can have a big impact on the size of our game on disk, the amount of VRAM used on the GPU, and the time it takes to load that texture to be able to use it.
Higher resolution textures will result in greater visual fidelity, but the performance impact needs to be weighed against this quality gain and the break even point may vary from channel to channel. As such you may find it optimal to have your texture channels (e.g Albedo, Roughness, Metallic, Normal Map) at different resolutions.
It is important to note however that it is usually advisable to maintain the power of two rule with texture sizes as failing to do so can cause stretching, artefacts, or issues with MipMapping in different engines and rendering software.
Put simply (and a little oversimplified), images need to have width and height which can be divided by 8. E.g "8", "16", "32", "64", "128", "256", "512", "1024", "2048", "4096". This is to do with the way that computer memory works and how space is apportioned in memory for these images.
A Texture Atlas is a a texture which is designed to be shared across multiple models. This can take a few different forms and variations from simply unwrapping multiple models into a shared UV space to unwrapping elements of a model onto repeatable textures. A Trim Sheet is another type of texture atlas which is very common.
The advantage, is that you can then use a single set of textures (and thus a single material) across a group of assets, in some ways very similar to a Sprite Sheet, which has some similar benefits. This means fewer textures in memory and it allows the GPU to render all of those assets as a single batch, greatly improving performance. It can have the draw back of minimising control of details on a given asset and trouble maintaining a consistent texture scale, but there are techniques and modelling approaches which can mitigate these things.
Some engines and tools can actually generate huge atlases from your separate texture channels in order to reap these benefits without being manually authored.
Texel Density refers to the amount of pixels in a texture relative to the size of the mesh, this relates to texture resolution as connected to the amount of detail an asset can have but also visual consistency between assets as having elements near each other with drastically different densities will result in lower density objects looking noticeably blurred.
Textures used by game assets come in two main types, RGB textures, which use full colour (these include Albedo/Base Colour and Normal Maps among others) and Linear, or Greyscale, maps (these include things like Roughness, Metallic, and Ambient Occlusion). Some textures can be either under certain circumstances (such as Emissives and Albedos).
RGB textures use the Red, Green, and Blue, channels within an image to store the amount of that colour in a given pixel, which when combined result in a blended colour. Because all textures are sampled into the shader in the same way, we can combine multiple linear textures by assigning them those colour channels. This is called Channel Packing. In some cases the Alpha channel of a texture can also be used allowing for an RGB texture and a Linear texture or four Linear textures to be packed together.
This reduces the number of textures required, but since the texture must be unpacked in shader it increases shader complexity which can be a trade off and will mean channel packing is not always optimal.
MipMaps are, essentially, LODs for textures. Textures can be, usually dynamically, downscaled based on their distance to the camera, reducing the total memory required to render them without noticeable quality reductions. In fact, using lower 'mip levels' at a distance can improve visual quality as having too finely detailed a texture rendering at a small size can result in artefacts as the pixels try to change colours too quickly.