The buffer cache stores recently accessed disk blocks in memory to reduce disk I/O. When a process requests data from a file, the kernel checks if the data is already cached in memory before accessing the disk. If cached, the data is returned directly from memory. If not cached, the data is read from disk into the cache. The buffer cache is managed as a pool using structures like a free list and buffer headers to track cached blocks. Caching recently used data in memory improves performance by reducing disk access frequency.