For the projects I’m doing, there are a lot of circular pockets. Always .50 wide/50 deep or .75 wide/50 deep.
If I use a .25 shank, .25 cutter, the pockets are always slightly bigger in all dimensions.
If I use a .25 shank, .125 cutter, the pockets are more accurate, but still slightly bigger in all dimensions.
I put in a .125 collet and a .125 bit and the pockets are perfect.
How does one determine what size mill is best for what size pockets?
Each of those bit should produce exactly the same size pocket (except for the corners). If you are seeing different size pockets form them then I would suggest you measure the bit and see if is actually the size claimed. I know that many of my bit are off at least a little from the claimed diameter.
Since the gcode is generated based on the bit being exactly the size you gave, if the bit is actually .127 instead of .125 then the resulting pocket will be larger than expected. So just measure the bits and enter the actual diameter into your program.