Consider the skull: an armored, curved structure with stiffening ribs and internal support structures located on top, where it can swivel and use detection sensors to locate dangers. Sort of like the turret on a T-72 tanks, but with more forehead.
It is that way for the same reasons the Soviets designed their tanks the way they did: protection. As we discuss this, also keep in mind a technical term: angle of incidence. That is, the angle between the line of travel of the projectile and the surface impacted. Hit something square -- called "normal" in physics-speak -- and it, perforce, absorbs all the impact energy. Hit it at a sharp angle, a glancing blow, and the energy absorbed is small and the projectile escapes, taking most of the energy with it. Here's where gun choice enters the fray, folks.
When it comes to putting a hole through armor, we have to consider three different aspects of the physical object being used as the can-opening tool: speed, hardness and shape.
Faster is better, until the speed creates sufficient energy to break or deform the projectile before it has plowed through the armor. Knights of old could wear armor that would defeat arrows, which can only achieve a certain speed. Once you have armor good enough to defeat that speed, you can laugh at arrows — not with your visor open, however.
A harder projectile will penetrate armor better than a soft one will, but again, once you reach a certain speed, the hardness fails, and the armor wins -- unless the armor isn't thick enough, a secondary consideration.
Now, physics is an interesting thing. Once we go too fast, projectiles fail, until we get enough faster still. A plastic "bullet" fired at 300 fps will bounce off of a painted cardboard surface. However, boost that same plastic "bullet" up to 15,000 fps, and it will crater a metal plate. However, such velocities are beyond our ability to generate.
Finally, we come to shape. A round object will glance off a curved surface, more readily than a pointed or flat-faced projectile will. This has been observed, and accounted for by bowling pin shooters. Despite traveling at 900-plus fps, a round-nosed bullet will glance off an edge hit on a pin, where a hollowpoint or flat-pointed bullet will dig in.
As another secondary consideration, a bullet with good sectional density (long for its weight) will penetrate better than one that has a lower density, given the same weights and speeds. That's why the U.S. Army M1-A1-A2 Abrams tanks hurl a depleted uranium "spike" at 5,500 fps to slap a hole through whatever armor that happens to be the target. Where a regular rifle bullet might be five times as long as it is wide, the Abrams M829A1 penetrator is just over thirty times as long as it is wide.
A consideration that is outside of this discussion is accuracy: You've got to hit the target to do any good.
So what does all this have to do with zombies? Simple: if we hold to the classic view that the only solution to the problem is a shot to the head, then we have to penetrate the skull. Failing to do so is like smacking said T-72, but not hard enough to crack the turret. At that point, life gets interesting.
Faced with the zombie apocalypse, we're planning on head shots as our Mjolnir. But, we have to keep speed in mind.
We have to have enough velocity. Yes, a bowling ball, dropped from above, will crack a skull, but doing so requires both the bowling ball and the height.
We need speed. We also have to have a hard bullet, as a soft one will not always do the job. Emergency room reports, police reports and coroners' reports are replete with incidents of soft bullets at low velocities failing to penetrate the skull.
You need not search very long to find reports -- albeit anecdotal, in many cases -- of people who had been shot, whose only wounds were the entry and exit wounds in their scalps. The bullet skidded around the skull, failing to penetrate.
And then there is shape, and here a round-nosed bullet, especially an all-lead one, is not a wise choice.
Were we to construct a three-dimensional matrix of bullet/cartridges -- one axis speed, the second bullet hardness, the third shape -- we'd find that there was a "cloud" near the starting point of these, of combinations that were ready to fail. The variables are within our control, to a great extent, so it is a matter of wise selection.
Let's take a 9mm Parabellum, and assume we're loading our own ammo. A common practice and club match load, a lead 125-grain round-nosed bullet at just over 1,000 fps, would not be a prudent choice. Yes, it has enough speed and the bullet may be hard enough, but all the variables are on, or too close to, the edge. It would be prudent to drop to 115 grains, boost to 1,200 fps, and change to a jacketed bullet.
In .45, a swaged-bullet target load would be a similar situation. We'd be better off using a jacketed bullet, 185 grains, and as fast as we can move it.
Shotguns? Hmmm. We may well find that the anti-gunners and environmentalists have actually done us a big favor here. The soft steel of steel shot is still far harder than lead, and will -- or be likely to -- penetrate better than lead will. Still, headshots with #4 shot are ill-advised. Tactical, hardened, or plated buckshot will do better, primarily due to velocity. Again, don't count on soft lead spheres at "reduced recoil" speeds of 1,000 to save your bacon.
The good news is that almost all rifles would be good choices. Obviously, not all rifles chambered in handguns cartridges would be good, but real rifle cartridges are really good T-zombie-72 armor breakers.
There is one that I have some bad news for you: the ubiquitous .22LR. Don't just take my word for it, consider the facts: soft bullet, low sectional density, soft composition, and at best moderate speed. Yes, a .22LR will poke a hole through a lot of chance objects, but we're really marginal here, and I cannot in good conscience recommend it for zombie control.