Well the variation i'd different beak types was due to forced evolution. This was caused because the different finches of the different islands had different food sources. Like one species had a very broad beak for crushing shells of nuts, where as on another island a bird might have a longer beak due digging up grubs and other insects. But if one bird traveled to a different island then it might starve. Because it is not equipped to survive on that island.
Hope that this helps. Its been a few years but I am pretty sure that this is still accurate. Good luck!