Выражение означает неудачную покупку, приобретение вещи, о качестве которой мы заранее ничего знать не можем, и скорее всего такая покупка принесет разочарование. То есть «купить кота в мешке» значит приобрести неизвестно что.

Когда то давным-давно среди торговцев было принято продавать кроликов, поросят или кур в завязанном мешке. И нечистые на руку продавцы иногда прибегали к обману. Обычный дворовый кот помещался в мешок и выдавался за желаемый товар. Подмену разочарованный покупатель обнаруживал только дома, когда развязывал мешок.
Интересно, что подобный фразеологизм встречается не только в русском языке. Он есть также в голландском, немецком и французском. А у англичан есть выражение с похожим смыслом: «выпустить кота из мешка». И означает оно «раскрыть тайну»…
Вот примеры употребления выражения в русской литературе.
Писатель Зощенко Михаил Михайлович в «Солдатских рассказах» пишет:
«Так вы бы поглядели землю, прежде чем ее брать. Еще в помещики лезете. А не предусмотрели такую мелочь. Взяли кота в мешке».
А. И. Куприн, «Жидкое солнце»:
«— Итак, согласны?
— Купить кота в мешке? — спросил я, в свою очередь.
— Нет, воскликнул он громко и сердито. Прежние условия остаются».