We perform a review of various approaches to the implementation of quantum memories, with an emphasis on activities within the quantum memory sub-project of the EU integrated project "Qubit Applications". We begin with a brief overview over different applications for quantum memories and different types of quantum memories. We discuss the most important criteria for assessing quantum memory performance and the most important physical requirements. Then we review the different approaches represented in "Qubit Applications" in some detail. They include solid-state atomic ensembles, NV centers, quantum dots, single atoms, atomic gases and optical phonons in diamond. We compare the different approaches using the discussed criteria.