1. The default texture resolution is indeed 16x. The maximum texture resolution without any modifications is 512x. This can easily go higher with mods, but the higher the resolution, the worse the performance. You can technically go up to 4096x.
2. Minecraft puts every piece of the player model skin into one atlas. To fit it all in there, the image must be bigger than the desired resolution (ofc, still a factor of 2). If you want to make a higher resolution skins, I recommend using proper tools that allow you to check model UVs, so you can adjust your skin to fit them perfectly.
3. Resource Packs can be applied directly from the game and don't need any loaders. They consist mostly of the assets like textures, models, blockstates or sounds. While limited by their functionality, they can be expanded upon with mods like Continuity, EMF/ETF, Fusion or even the dying Optiftine. Mods require a loader to function and are written for specific loaders and versions (unless you make it with multiloading in mind). They can modify the existing game code or add new things - pretty much anything you can think of. They require some Java knowledge to make. They also use the same assets you'd put into resoruce packs, so by learning modding you'll automatically learn about making resource packs as well.
4. Data Packs are like poor mans' mods. You can add features to them through pre-defined JSON structures.They allow you to edit and add stuff to the game, but limited to the base game functionality (changing recipes, adding dimensions, functions using commands, etc.) Still a very accessible way to add or change basic stuff.
Texture Packs are what later became Resource Packs.
If you're looking for some cool mods that can improve your builds, definitely try Conquest Reforged. It has tons of medieval blocks that may help you with that.