The Phrase Finder says the phrase exists in several forms, but this specific form originated in the US. It appeared in print in 1921 in reference to a financial panic related to mining. Wiktionary agrees.
Wiki answers says this phrase came from the ancient Greek mythology of “The Odyssey”, when Odysseys had to steer his boat between a rock cliff and a whirlpool. Word Detective echoes this with a bit more explanation: it is a modern, non-literary variation on the Odyssey phrase “between Scylla and Charybdis”.
These sources mention other phrases with a similar sentiment, such as “on the horns of a dilemma” and (my favorite) “between the devil and the deep blue sea.” While these phrases may all express a similar sentiment, it seems to me that Phrase Finder has the best answer.