Buffer
When you use C-x C-f to invoke command find-file, Emacs opens the file you request, and puts its contents into a buffer with the same name as the file. Instead of thinking that you are editing a file, think that you are editing text in a buffer. When you save the buffer, the file is updated to reflect your edits.
Buffers can also contain text that doesn't come from a file. When you use `C-x C-b' to get a list of buffers, that list is itself in a buffer, called *Buffer List*, and that buffer is not associated with any file.
By convention, buffers whose names start with an asterisk (`*') are not associated with files (but that doesn't mean you can't save them in files). If they have unsaved changes when you exit Emacs, these buffers are killed without your being asking for confirmation.
Buffers whose names start with a space are invisible to many operations. These are generally internal buffers that you don't want to see. Their names normally don't appear in the buffer list or as completion candidates when you switch buffers using `C-x b'.
Buffers are shown in windows. You can have more than one window showing the same buffer. `C-x 2' splits the current window, creating two windows, both showing the same buffer.