Sehr passend zu diesem Thema gibt es den Wikipedia-Artikel Namen auf -ow. Vereinfacht gesagt, sieht die Lage ungefähr so aus:
- Im Mittelalter hatten viele Orte am Wasser Namen germanischen Ursprungs, die auf -ow oder -owe endeten. Diese Endung ist mit den Wörtern Au und letztlich auch aqua verwandt und wurde im Rahmen des Lautwandels meist zu -au.
- Viele Orte vor allem im Nordosten des deutschen Sprachraums haben noch slawische Namen aus der Zeit der frühesten (bekannten) Besiedlung. Wenn diese auf -ow enden, dann ist das in der Regel ein slawischer Genitiv Plural. Beispiele: Grabow = [Ort der] Buchen, Buckow = [Ort der] Rotbuchen, Burow = [Ort der] Bauern. Das w in dieser Genitiv-Endung wird wohl in den meisten slawischen Sprachen heute noch mitgesprochen. Laut Takkat in einer Antwort zu derselben Frage auf Englisch ist das aber im vor allem relevanten Sorbischen heute nicht mehr der Fall. (Ich hab versucht, eine Bestätigung dafür zu finden, aber die Online-Quellenlage zum Sorbischen ist nicht so toll.) Jedenfalls wird es in Ortsnamen heute im Deutschen in der Regel nicht gesprochen.
- Familiennamen auf -ow oder -ov/-off sind meistens ebenfalls slawischen Ursprungs und bedeuten Sohn des. Mir ist nicht ganz klar, warum diese Endung wie ein Genitiv Plural aussieht. (Evt. bezieht sich das auf beide Eltern, identifiziert durch den Vater?) Hier wird das w (oder v/ff) in der Regel mitgesprochen.
- Es gibt Übergänge zwischen diesen drei Formen. In Gegenden mit vielen Namen auf -ow liegt eine Umdeutung auf -au nah und umgekehrt. Außerdem werden immer wieder mal Orte nach Personen benannt und umgekehrt.
Ganz klar scheint mir, dass es wegen der großen Zahl von Orten und Familien einen großen Regularisierungsdruck gibt und dass hier Standard lautet: "Die Endung -ow wir in Ortsnamen wie -oh und in Familiennamen wie -off ausgesprochen."
Daneben gibt es aus phonetischen und historischen Gründen Durchlässigkeit zwischen den Schreibungen und Aussprachen der Ortsnamensendungen -au und -ow (mit stummem w) in beide Richtungen. Und andererseits werden von Familiennamen abgeleitete Ortsnamen und von Ortsnamen abgeleitete Familiennamen natürlich zunächst in für ihre Klasse untypischer Weise ausgesprochen, was auch hier eine Durchlässigkeit bewirkt.
Irgendwann im Mittelalter dürften die drei Klassen von Namen im Wesentlichen alle gleich ausgesprochen worden sein. Lautverschiebungen, die es in den meisten slawischen Sprachen nicht gab, haben dann in weiten Teilen Deutschlands aus -ow das heutige -au gemacht, im Norden und Osten aber eher -ow (gesprochen -oh). (Grund für die unterschiedliche Entwicklung war vermutlich, dass -ow in manchen Regionen mit einem richtigen w und in anderen mit einem u ausgesprochen wurde. Falls das stimmt, wurde -ou zu -au und -ow zu -oh.) Evt. wurde diese letztere Lautverschiebung sogar vom Sorbischen mitgemacht. Da sie (zumindest größtenteils) vor der größeren Verbreitung von Familiennamen stattfand, sind aber die meisten Familiennamen auf -ow spätere slawische Importe und deshalb nicht davon betroffen. (Sorbische Familiennamen auf -ow scheinen kaum ins Gewicht zu fallen. Ich hab auch den Eindruck, dass diese meist transparent von Ortsnamen abgeleitet sind und zumindest deshalb vermutlich mit stummem w ausgesprochen werden.)
Der Zustand dürfte stabil sein, weil die Ortsnamen auf -ow wohl etwa gleich großen Einflüssen in entgegengesetzte Richtungen ausgeliefert sind: Einerseits in Richtung Aussprache -au und andererseits in Richtung Aussprache -off. Die übliche Aussprache -oh kann man wohl als einen Kompromiss dazwischen ansehen.