As we know from history, the Allies were successful in cracking the Axis' encryption methods. A major part of this success, as Singh states, is German overconfidence. Another reason for their success was simply limited ability. The Enigma Machine, as impressive as it was, was restricted by possible plug board settings and scrambler combinations. The limitations of the machine combined with its extreme complexity and German laziness, led to repeated message keys, cillies, and stereotypical messages. As a result, the Allies were able to exploit cribs and this helped lead to the cracking of the Enigma. Allied success in with decryption, relied on German limitation. The Enigma was indeed limited, and this allowed the Allies the chance to break the code. German laziness also helped the Allies exploit the weaknesses in Enigma as they helped make it more predictable and pattern based.
Allied success did not only lie in German error. It also relied deeply on their own coding ability. The Allies had very strong encryption methods, such as the Typex, the SIGABA and the Navajo code talkers. Knowing that they had sound encryption methods allowed them to focus more on the decryption of Axis codes, rather than struggling to encrypt their own codes. Being able to focus their efforts on decryption played a major role on breaking the Enigma and other Axis coding methods. The difference between the Axis and the Allied forces was simply that the Allies had stronger encryption methods. In the end, Allied success was based off of the fact that the Allies won the coding war.