The Allied cryptanalysts were victorious over the German cryptographers due to a variety of reasons; however, one rather simple reason is often overlooked: the allies had a much larger and much more unified base of cryptologists than the Germans.
Germany had a total of around 30,000 people working in the intercepting, decoding, and coding of messages. The European Axis powers had a grand total of 36,000 people working in those endeavors. The Allied powers had a number closer to 60,000 people doing the same jobs, nearly twice that of the Axis powers. Just think about the implications of this: more people leads to more intercepted messages, which leads to more cipher text to work with (a historically beneficial resource in terms of breaking codes), and more people leads to more brain power trying more techniques to break the same code.
In addition to this, Germany did not have a central cryptology base like the Allies did at Bletchley Park. The Germans were spread out among 6 different bases, and would often overlap in each other's efforts, duplicating each other's work and thus wasting time and resources. There was some collaboration but not nearly to the degree of the Allies. In Andrew's blog post, he discusses the importance of collaboration in the field of cryptology so I will not expand upon this as much.
Finally, the Germans never created a bombe-like machine that could decipher messages which can very easily be attributed to the division and smaller size of the German forces. Without this key technology, Germans had to do a lot of the leg work manually which is much much more time-consuming and much less reliable. The bombe and other machines like it (Colossus and Tunny) exponentially increased the cryptographic progress of the Allies, catapulting them far ahead of the Axis powers.
Click here to see my primary source.