Why would computers transfer data and instructions form main memory to cache in blocks when this means a single cache miss may overwrite a lot was put on hold as too broad. While I can see it is off-topic for StackOverflow, I suspect it is not too broad and migration (say to the Computer Science SE) might be reasonable.
I think my answer is more-or-less complete (addressing the "too many answers" issue) and not extremely long (a little over 3300 characters).
The question is not a great question even for the CS SE, but it is question that seems to be generally answered with a simple "larger cache blocks exploit the spatial locality that is typical in most programs" and a somewhat broader answer seems likely to be helpful.
(Knowing that the question was off-topic on StackOverflow, I should not have given an answer [encouraging off-topic posts is wrong] and perhaps flagged the question for migration. I am not sure if CS SE would accept this question, but CS SE does handle a fair number of similarly simple computer architecture questions.)