Resource pack
Resource packs allow players to change the aspect of every texture in Minecraft without writing code also allowing for more complex cases like animations, randomness, and weighted targeted entity changes.
Version
Resource packs are often designed to match specific Minecraft version. Minecraft updates may introduce new or change current blocks, textures, or mechanics that may not be compatible with older resource packs but it will only result in the non compatible things rendering the default textures instead and it will not cause any problems so it’s safe to treat resource packs versions as an indicator to “works the best with” and not an actual requirement for the pack to work differently from Mods where the version is an actual requirement and Minecraft won’t load and throw random errors.
Server resource packs
It’s possibile to load resource packs on a Server so every player will have the same resource packs when they join without needing to install them on their Client.
Resources