True a simple XOR is weak. There is a 1:1 correspondence between the applied cipherbits and known plaintext values like spaces, periods and control characters. Knowing the plaintext at various period locations reveals the applied key value at the said locations. Its not hard to iterate through a message and piece together the key and the entire message attacking known plaintext values.
CipherText is a step beyond. Each message element is the result of two ciphers, not just one. The recurrence of a composite pattern is also diffused to N*(N-1) message elements. This is desireable to limit the amount of information available to frequency analysis thought necessary for an attack.