What is the purpose of a buffer and a buffer manager? In a database system, what is the purpose of a buffer and a buffer manager? 

This concept currently came up in my class and am very interested to learn more.
A buffer is an 8 KB page in memory, the same size as a data or index page you can consider buffer as a frame which holds data and index pages when they are brought from disk to memory. 

SQL Server buffer manager manages the task of reading data pages into buffer pool and also writing it to disk. It is a reserved memory store for SQL Server and by default if you do not set value for it it will take as much memory as possible.

What you are looking is documented in SQL Server Buffer Management