Basically it use a key string to obtain cipher text by doing byte-based exclusively OR with original text cyclically. One more round with cipher text will restore the original text. Very easy to implement, thus widely used.
This program can be cracked by frequency analysis. But that's only limited to alphabetic text. For thing like images and sound, it's hardly cracked.