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