Both words mean "memory", but what are their main difference?
기억 has a more general meaning, and is used to mean just the fact that you remember something. If you're talking about cognitive memory, you will use 기억. It can be used for remembering facts, events, etc. You can also use it for the ability to remember, though then 기억력 is better. It can also be made into a verb, 기억하다, to remember. 추억 cannot be made into a verb.
기억을 떠올리다 (recall a memory)
그의 이름을 기억하지 못해요 (I can't remember his name)
추억 is a more emotional word, used to recall memorable experiences. It cannot be used for facts, only something you have experienced before. It's usually a positive memory, and even when it's negative I think it's usually bittersweet. It's normally a memory from a long time ago, not recent. It's still possible to use 기억 for these types of memories, but usually 추억 will be used.
첫사랑의 추억 (memories of my first love)
When you have memories of your youth, your first love, a trip, etc., that is a 추억. When you remember to do something, remember a fact, a name, etc., then you'll use 기억 (usually 기억하다).
Also, 기억 is often used in a negative sense, to mean "I can't remember", but that normally doesn't happen with 추억.