This may be the easiest colloquialism I’ve ever researched. (Read: There is actually information available about this one!)
I ran across this particular phrase, “to buy a cat in a sack,” in a forum thread talking politics (which I will not get into here – we all deserve a break). Once again, I understood what was meant, but was curious about the origin of the phrase.
The meaning of the phrase is concisely laid out by thefreedictionary.com. It means you’ve fallen for a swindle or a con; you bought something sight unseen, and it turns out you didn’t get what you paid for.
Now, personally, I have to voice some objections to the logic here. First of all, I can’t feel like the con is worth it, from the con artist’s point of view. Whatever it is that’s supposed to be in the sack has to mean less to you than your own skin – and as someone who has had to put a cat in a carrier, I can assure you that you will be losing some getting one into a sack. I also feel like it would be pretty obvious that the cat in the sack is, in fact, a cat. Wrap a cat in a towel. Go ahead, I’ll wait. Let me know how that goes.
Anyway, it turns out that the phrase isn’t uncommon at all. Many European languages have it, or some version of it. This article from TED lists the German phrase, Die Katze im Sack kaufen. The English version is “a pig in a poke,” where a poke is a word for bag or pouch, related to French.
My favorite thing about this phrase, though, is that I also learned the origin of another colloquialism that I’m much more familiar with: “let the cat out of the bag.” The cat was in the bag, which was the secret or trick; now you’ve let it out, or revealed it. It’s like the buy-one-get-one-free of blog posts!
Bonus: Even more phrases! The TED link above is a list of 40 idioms from various languages.