If an image file uses 24 bits per pixel, 8 each for red, green, and blue, you can throw away the lowest-order bit of each pixel R,G,B value and the picture won't look much different to the naked eye. Those bits could be replaced by the bits of a message. A one million pixel image could therefore hide 3 million bits or nearly 400 Kbytes of information, quite a big text file. If you only needed to hide a short text file, say 1 Kbyte, you could get quite imaginative with where you put the bits. The only trouble is, you can't do this with jpeg images which are compressed. You'd need a bmp type image. Other possibilities are the wav files that make up audio CDs. (but not mp3s for the same reason)
This is called "steganography". The word "Steganography" is of Greek origin and means "covered, or hidden writing". Its ancient origins can be traced back to 440 BC. Herodotus mentions two examples of Steganography in The Histories of Herodotus . Demeratus sent a warning about a forthcoming attack to Greece by writing it on a wooden panel and covering it in wax. Wax tablets were in common use then as re-usable writing surface, sometimes used for shorthand. Another ancient example is that of Histiaeus, who shaved the head of his most trusted slave and tattooed a message on it. After his hair had grown the message was hidden. The purpose was to instigate a revolt against the Persians. Later, Johannes Trithemius's book Steganographia is a treatise on cryptography and steganography disguised as a book on black magic.
The CIA has computers capable of finding hidden messages in image and audio files, I read somewhere.