The Soviets kept pouring reinforcements into the city. Many more than the Germans were able to send. And in the end they won because they encircled the Germans with more than a million troops in addition to those fighting in the city. So the Germans were totally outnumbered.
Maybe not in the beginning, and that's when they got totally crushed. Well, except for the paratroopers at Bastogne that held out. But they were elite troops that could match the Germans.
The allies then turned the battle around when the weather cleared, allowing massive air attacks against the Germans, and massive reinforcements (Pattons army). Also, the Germans started running out of fuel and other supplies.
Air, artillery and logistics superiority did certainly stack the odds heavily against the Germans in Normandy. Wasn't it at Caen that the allies attacked with many hundreds of bombers, totally obliterating the German lines? And the allies were delayed by months in capturing Caen, so this example would tend to support the fact of greater German fighting efficiency.