A buffer generally refers to a file loaded in memory for editing, although there are also buffers that are not associated with a file. The use of buffers allows you to work with multiple files at the same time.
A register is a kind of clipboard, a memory space in which text can be saved. There are several kinds of registers. Some of them are filled automatically when you do some actions, like yanking or deleting text. More information can be found in the help by typing
:help registers
.