The short answer:
Pronunciations change over time. while spellings often do not. Also, English has borrowed extensively from other languages, most notably, French.
I don't think there really is a reason (at least not one that can be determined) for why we sometimes pronounce the i as we do in fish and why we sometimes pronounce the i as we do in fight. That's just the way it is.
Perhaps others will have additional comments.