Сложность этих двух глаголов в том, что на русский они переводятся одним глаголом – держать. Хотя сам он в русском имеет разные смыслы.
to hold – держать (в руках)
She’s holding a cat in her hands. – Она держит кошку в руках.
to keep – держать (домашний скот, книгу на полке, еду в холодильнике)
The farmer keeps sheep. – Этот фермер держит овец.
Where do you keep your books? – Где вы держите (храните) ваши книги?