Ought one to aim to be a big fish in small pond, or small fish in big pond?
As a rule of thumb, you want to be a big fish in a small pond.
Consider two examples.
First, if looking at joining a basketball team where one wants to improve one’s skills, actually playing games probably outweighs the advantages of being around better players. Here, being a bigger fish in a smaller pond probably makes sense to a degree.
Second, though, consider a case where one wants to get degree primarily for recognition. In this case, it is not so much about improving one’s skills, but about simply getting into an institution. Think Harvard or Stanford. In this case, being in as ‘big’ (recognized) a pond as possible is probably a better strategy.
I think the best general strategy is to be a big fish in a small pond, and then pond hop, to consecutively larger ponds.