* 깜빡하다, 깜빡 잊어버리다 = my mind "went blank" for a moment - casual everyday word.
* 잊어버리다 = proper, recommended word for forgetting something - used for specific cases.
* 잊다 = similar to 잊어버리다 but can be used more general or abstract things.
** 까먹다 = a slangy term which seems to be more popular than the above.
-아/어 버리다 adds the sense of "irrevocably" or "once and for all". 버리다 means to throw something away, so adding -아/어 버리다 means doing something as a final measure and never going back.
* 대문을 잠그는 걸 잊어버리고 나왔다 = I left home forgetting to close the front door. (a tangible action)
* 역사는 잊는 자에게 반복된다 = History repeats to those who forget (abstract sense of forgetting).