Think of D-Day. What do you see? Probably the U.S. Navy pounding the shores with artillery as Army soldiers landed in boats driven by Coast Guardsmen as German soldiers rained artillery and machine gun fire while Luftwaffe pilots bombed and strafed the landing zones.
Notably absent: The German Navy. You almost certainly have no idea what the German Navy was doing during the invasion, and that's because they weren't doing much.
The problems for the Kriegsmarine dated to well before the war. In fact, a lot of it dates back to the formation of the Earth as well as the last few mass extinctions. Germany doesn't have a lot of natural resources, especially the ones necessary for large ship construction.
Germany had the iron, but most of its coal is low-quality brown coal, and their oil and natural gas reserves are very limited. Worse, they have very limited port access, so what ships they do have can be fairly easily contained with a blockade. Because of these strategic and industrial limitations, Germany has historically maintained a navy smaller and weaker than its rivals. Germany's navy was so weak in World War II that they even pressed a sailing ship into active service.
But Germany did have a navy in World War II, and its U-boats were small but lethal, so they still should've had an impact at D-Day, right?
Well, they could have, but there were more issues. Britain and the U.S. had gone all out to convince German high command that D-Day at Normandy was a feint, creating an entire fake army helmed by Gen. George S. Patton, Jr. that would supposedly land later at a deepwater port on the French coast.
So, many of Germany's D-Day decisions were made with the belief that a second, larger invasion could be coming somewhere else. And they didn't want to risk their minuscule naval forces on what could be an Allied feint. Worse, the Allies had learned about how to kill U-boats on the surface in the Atlantic. So, any underwater boats actually deployed would be extremely vulnerable.
So, the submarines couldn't deploy in broad daylight as D-Day got underway, knowing that any subs spotted leaving the safety of the harbor would be quickly hunted down and killed. One group of three torpedo ships did risk Allied wrath by slipping out to attack at Sword beach, successfully sinking a Norwegian destroyer.
That night, U-boats attempted to slip out and disturb the ongoing landings at Normandy, but they were quickly repulsed with two sunk and four heavily damaged. The Allies had sub-hunting planes that could detect German subs on the surface with radar, even in the middle of a dark night.
So, only U-boats with snorkels — those that didn't need to surface — were viable. And Germany only had 14 left within range of the beaches. That's partially because D-Day came in 1944, 13 months after the U.S. and Britain had savaged the German vessels in Black May.
So, for weeks, German U-boats were pinned in, and most of the German Navy was similarly limited. Eventually, they broke out and were able to inflict losses on Allied landing and logistics forces. But only eight Allied ships were lost to U-boats off the coast of Normandy at the cost of 20 German U-boats.
The surface story was similar. The Kriegsmarine was simply too small and too underpowered to take on the Allied fleet, and so it was doomed to failure.
Not that it was a bad thing since, you know, they were trying to stop the invading force that would later liberate the concentration camps.