Сначала не выполняйте find , а затем insert .
Insert уже возвращает пару, второй элемент которой является логическим значением, говорящим, действительно ли произошла вставка. Короче и эффективнее:
void add_entry(string key, string desc)
{
if (stuff_map.insert(pair<string, string>(key, desc)).second)
stuff.emplace_back(pair<string, string>(key, desc));
}
«Список с быстрым поиском» или «порядок сохранения карты» действительно могут быть достигнуты путем объединения карты и списка (рассмотрите список итераторов для сопоставления).