Then, why do we have Eager Write process in bulk logged recovery model? I am confused
I will need to admit that I am not overly familiar with the concepts of Eager Writes, but some quick googling tells me that eager writes comes into play with minimally logged operations, so that pages are written to disk directly.
When I think of it seems quite logical. All that is logged is the extent allocation. This means that the data pages must be written to disk before the transaction can commit. Else the D in ACID would up be upheld in case of a crash - rolling forward an extent allocation alone is quite useless.
And it would be quite cheesy if the transaction would have to wait for the Checkpoint process to do its job. Thus, there is all reason to write the pages directly.
However, that does not send the Checkpoint process to the unemployment line, since also when you are in simple or bulk_logged recovery, there are plenty of fully logged operations.
I hope this clears things up for you.