There is a multitude of factors that affect whether a shell penetrates the armor and how much damage it does if it does indeed go through.
Ships possess a multi-layered armor setup (up to five layers). Making calculations of each shell interaction is somewhat complex, but there are pointers that you can always keep in mind.
Stats that affect shell behaviour:
- Armor thickness and penetration
- Shell caliber
- Projectile type (High-explosive or Armor-piercing shells)
- The angle of contact/ricochet chance
- Muzzle velocity
Keeping all of that in mind, cases of impact with no damage are usually one of the two - too low a caliber or too sharp an angle.
A good idea with every new ship is to get a “feel” for her by trying out all the armament against different opposition. AI battles are a great place to do just that.
AP Shell Penetration
An AP shell will always penetrate armor that’s either inferior or equal to 14.3 of its caliber, regardless of distance and angle. E.g. a 203 mm shell will always penetrate 14 mm of armor.
HE Shell Penetration
An HE shell will always penetrate armor that’s either inferior or equal to 1/6 of its caliber, regardless of distance and angle. E.g. a 203 mm shell will always penetrate 33 mm of armor.
Exception
Some German HE shells can penetrate armor thicknesses of 1/4 of their caliber.