The main weaknesses of the German Enigma system were:
  • It never encrypted a letter to itself (due to the way the reflector sent the signal back through the disks along a different route)
  • It was encrypting German (a very structured and predicable language with large words made up of smaller words 'nailed together')
It was quite often possible to predict the presence of a particular word or phrase in a message (the plaintext). The code breaker then looked for a sequence in the ciphertext where none of the letters matched. This was the start of the code breaking process at Bletchely Park. They then used machines (called "Bombe"s - thanks merlin83) to search for a configuration that gave that translation.

Once they had broken one message for that day they then had that day's key that would allow them to decrypt other messages.