Die Deutschen wurden (im Deutschen) nach dem germanischen Wort für "Volk" benannt, wobei das zunächst als sprachliche Abgrenzung gemeint war, weil die eben die Sprache des Volkes sprachen (anders als z.B. Latein oder romanische Sprachen oder slawische), und danach dann eben das Land.
Bei den Finnen war es so, dass sie von Lateinern quasi als Finder bezeichnet wurden, weil sie offenbar eine Jäger-und-Sammler-Kultur waren, und das entwickelte sich dann zu deren Bezeichnung im Ausland. (Ihre Selbstbezeichnung Suomi kommt wohl daher, dass ihr Land ein Sumpfland (suo-maa) war.)
Im Kontrast dazu England: Die Angeln sind aus der geografischen Region Angeln (in Schleswig-Holstein) zusammen mit den Sachsen (und Friesen und Jüten) auf diese komische Insel gezogen und gründeten da eigene Herrschaften, und das war dann das Land der Angeln. Anders als die Sachsen hielten die Angeln in ihrem neuen Land aber kaum mehr Kontakt zu ihren kontinentalen Stammesbrüdern, auch nicht nach der Verschmelzung mit den Sachsen zu den Angelsachsen (wohingegen der Kontakt zu den Sachsen auf dem Kontinent immer noch erhalten blieb). Es waren also nun die Angelsachsen. Irgendwann vergaß man dort ganz, dass "Angli"/"Ongle" mal einen eigenen Stamm bezeichnete (die Angeln in S-H gab es dann auch nicht mehr, da sie in andere Stämme assimiliert wurden), und irgendwann wurde der Begriff als Sammelbezeichnung für die Germanen in Britannien bezeichnet, als Abgrenzung von den Germanen auf dem Festland. Woher kommt dann aber nun "England" und "Engländer"? Da haben sich die Begriffe der Wikinger durchgesetzt, die um 1000 nach Christus auch häufiger vorbeikamen und einen Teil des Landes eroberten.
Kommt wohl also oft drauf an, ob die Einwohner nach ihrem Land oder das Land nach ihren Einwohnern benannt wurde (bzw. was denen, die diese Benennung in ihrer Sprache vornehmen, zuerst untergekommen ist).