Others here can give you a more complete answer, but your question seems to really be two: 1) what factors determine felt recoil and 2) why load different bullet weights
As to recoil, the formula for recoil energy would be the same as that for bullet energy, where the energy increases proportionally to the weight of the bullet, and to the square of the velocity. So, a 45ACP firing a 200gr bullet at 975fps (421 ft lbs muzzle energy) will produce less felt recoil than if the same gun were firing a 165gr bullet at 1250fps (573 ft lbs me). So, the easiest way to ramp up muzzle energy is to increase the bullet's velocity, which can be accomplished by increasing chamber pressure and/or decreasing bullet weight. Therefore, if a specific cartridge is always loaded to maximum pressure (taylored to a specific firearm), lighter bullets will end up yielding the greatest muzzle energy AND the greatest felt recoil.
The advantage to heavier bullets is that they retain their energy better, both over distance and while penetrating objects. Over long ranges, heaver bullets are also less susceptible to wind drift, and so are more accurate. However, becasue heaver bullets travel slower on average, they will exhibit greater bullet drop.