Sachverhalt:
A.
A.a. Die 1959 geborene A._ war seit August 1983 mit B._ verheiratet. Im Dezember 1983 wurde der gemeinsame Sohn C._ geboren. Im November 1987 wurde die Ehe geschieden. B._ starb im September 1998. In der Folge sprach die Ausgleichskasse des Kantons Zürich A._ eine ordentliche Witwenrente und ihrem Sohn eine ordentliche einfache Waisenrente ab dem 1. Oktober 1998 zu (Verfügungen vom 19. Januar 1999).
Im November 2001 erkundigte sich die Ausgleichskasse bei A._ über die Ausbildungssituation des C._, wobei sie auf dessen bevorstehende Vollendung des 18. Altersjahres verwies. Mit Schreiben vom 7. November 2001 bestätigte der Ausbildungsbetrieb, dass das Lehrverhältnis bis zum 15. August 2003 dauere. Im Juli 2003 teilte die Verwaltung A._ mit, dass der Rentenanspruch des C._ infolge Beendigung seiner Ausbildung auf Ende August 2003 erlösche. Die Rente für A._ wurde ununterbrochen weiterhin ausgerichtet.
A.b. Im Februar 2019 ersuchte A._ um Voraus berechnung ihrer Altersrente. Im Verlauf der Abklärungen erkannte die Ausgleichskasse, dass bereits seit Dezember 2001 kein Anspruch mehr auf Witwenrente bestanden hatte. Mit "Rückforderungsverfügung" vom 7. Mai 2019 verpflichtete sie A._, ihr Fr. 104'714.- (Rentenbetreffnisse vom 1. Juni 2014 bis zum 31. Mai 2019) zurückzuerstatten. Daran hielt sie mit Einspracheentscheid vom 10. Juni 2020 fest.
B.
Die dagegen erhobene Beschwerde wies das Sozialversicherungsgericht des Kantons Zürich mit Urteil vom 12. Februar 2021 ab.
C.
A._ lässt mit Beschwerde in öffentlich-rechtlichen Angelegenheiten beantragen, das Urteil vom 12. Februar 2021 sei aufzuheben, und von der Rückforderung der Witwenrente im Umfang von Fr. 104'714.- sei abzusehen.
Die Ausgleichskasse schliesst auf Abweisung der Beschwerde. Das Bundesamt für Sozialversicherungen verzichtet auf eine Vernehmlassung.

Erwägungen:
1.
Mit der Beschwerde in öffentlich-rechtlichen Angelegenheiten kann eine Rechtsverletzung nach Art. 95 f. BGG gerügt werden. Die Feststellung des Sachverhalts kann nur gerügt werden, wenn sie offensichtlich unrichtig ist oder auf einer Rechtsverletzung im Sinne von <ref-law> beruht und wenn die Behebung des Mangels für den Ausgang des Verfahrens entscheidend sein kann (<ref-law>). Das Bundesgericht legt seinem Urteil den Sachverhalt zugrunde, den die Vorinstanz festgestellt hat (<ref-law>). Es kann die Sachverhaltsfeststellung der Vorinstanz von Amtes wegen berichtigen oder ergänzen, wenn sie offensichtlich unrichtig ist oder auf einer Rechtsverletzung im Sinne von <ref-law> beruht (<ref-law>).
Das Bundesgericht wendet das Recht von Amtes wegen an (<ref-law>). Es ist folglich weder an die in der Beschwerde geltend gemachten Argumente noch an die Erwägungen der Vorinstanz gebunden; es kann eine Beschwerde aus einem anderen als dem angerufenen Grund gutheissen und es kann sie mit einer von der Argumentation der Vorinstanz abweichenden Begründung abweisen. Dennoch prüft das Bundesgericht, unter Berücksichtigung der allgemeinen Pflicht zur Begründung der Beschwerde (Art. 42 Abs. 1 und 2 BGG), grundsätzlich nur die geltend gemachten Rügen, sofern die rechtlichen Mängel nicht geradezu offensichtlich sind (<ref-ruling> E. 2; <ref-ruling> E. 1 mit Hinweisen).
2.
Nach Art. 25 Abs. 1 und 2 ATSG (in der hier anwendbaren, bis Ende 2020 geltenden Fassung) sind unrechtmässig bezogene Leistungen zurückzuerstatten. Der Rückforderungsanspruch erlischt mit dem Ablauf eines Jahres, nachdem die Versicherungseinrichtung davon Kenntnis erhalten hat, spätestens aber mit dem Ablauf von fünf Jahren nach der Entrichtung der einzelnen Leistung (die längere absolute Verwirkungsfrist im Zusammenhang mit einer strafbaren Handlung spielt hier keine Rolle).
Wie bereits im vorinstanzlichen Verfahren steht (aufgrund von <ref-law>) fest und ist unbestritten, dass die Beschwerdeführerin nur bis Ende November 2001 resp. bis zur Vollendung des 18. Lebensjahres des Sohnes Anspruch auf eine Witwenrente hatte. Streitig war und ist einzig die Rückforderung mit Blick auf die Frage, ob die (relative) einjährige Frist mit Erlass der Verfügung vom 7. Mai 2019 gewahrt wurde, was die Vorinstanz bejaht hat.
3.
3.1. Beruht die unrechtmässige Leistungsausrichtung - wie hier - auf einem Fehler der Verwaltung, wird die einjährige relative Verwirkungsfrist gemäss Art. 25 Abs. 2 erster Satz ATSG nicht durch das erstmalige unrichtige Handeln der Amtsstelle ausgelöst. Vielmehr bedarf es eines "zweiten Anlasses": Es ist auf jenen Tag abzustellen, an dem das Durchführungsorgan später - beispielsweise anlässlich einer Rechnungskontrolle oder aufgrund eines zusätzlichen Indizes - unter Anwendung der ihm zumutbaren Aufmerksamkeit seinen Fehler hätte erkennen müssen (<ref-ruling> E. 2.2 mit Hinweisen; Urteil 8C_6/2021 vom 14. April 2021 E. 4.2).
Entscheidend für die Frage, in welchem Zeitpunkt die Verwaltung Kenntnis über Bestand und Umfang des Rückforderungsanspruchs haben muss, sind stets die jeweiligen Umstände im Einzelfall (SVR 2015 IV Nr. 5 S. 10, 9C_195/2014 E. 4.2; SVR 2014 IV Nr. 15 S. 60, 8C_631/2013 E. 5.2.2.4; Urteil 9C_569/2019 vom 8. November 2019 E. 3.2). Ob resp. inwieweit die Rückforderung verwirkt ist, ist eine Rechtsfrage (Urteil 9C_148/2020 vom 2. Juli 2020 E. 4.6.2).
3.2. Die Vorinstanz hat erwogen, die Ausgleichskasse habe der Beschwerdeführerin am 19. Januar 1999 irrtümlich eine ordentliche (und unbefristete) anstatt einer befristeten Witwenrente zugesprochen. Mit diesem ursprünglichen Irrtum sei die relative Verwirkungsfrist aber noch nicht ausgelöst worden. Die Schreiben zur Überprüfung der Waisenrente seien systembedingt veranlasst und automatisch generiert worden. Die Erkundigung der Ausgleichskasse vom November 2001 nach dem Ausbildungsstand des Sohnes, die entsprechenden Informationen und das Schreiben der Ausgleichskasse vom 4. Juli 2003 hätten allesamt die Waisenrente betroffen und keinen Anlass gegeben, die Witwenrente zu überprüfen. Erst anlässlich des im Februar 2019 eingereichten Gesuchs um Vorausberechnung der Altersrente habe die Verwaltung Kenntnis von den irrtümlichen Rentenzahlungen erlangt. Damit sei die einjährige Verwirkungsfrist in Gang gesetzt und mit Erlass der Verfügung vom 7. Mai 2019 gewahrt worden.
3.3. Die Beschwerdeführerin macht im Wesentlichen geltend, die Ausgleichskasse habe sowohl im November 2001 im Hinblick auf die Vollendung des 18. Altersjahres des Sohnes als auch im Juli 2003 aufgrund der Beendigung seiner Ausbildung ein Revisionsverfahren eröffnet. In diesem Rahmen hätte die Verwaltung unter Anwendung der zumutbaren Aufmerksamkeit merken müssen, dass sie die Witwenrente per Dezember 2001 hätte aufheben müssen. Die Terminierung ihres Anspruchs ergebe sich klar und deutlich aus dem "ACOR-Blatt" vom 8. Januar 1999, das für sie und ihren Sohn gemeinsam erstellt worden sei. Die beiden Hinterlassenenrenten seien in einem gemeinsamen Dossier geführt worden. Zumindest die Information des Arbeitgebers habe manuell von einem Sachbearbeiter bearbeitet werden müssen. Selbst wenn die Prozesse computergesteuert abliefen, sei es der Ausgleichskasse anzurechnen, dass sie keinen Überprüfungsmechanismus eingebaut habe. Als der Eintrag im "ACOR-Blatt" 2001 resp. 2003 nicht bemerkt worden sei, sei der Fristenlauf für die Rückforderung ausgelöst worden.
3.4.
3.4.1. Die vorinstanzliche Annahme (unter Hinweis auf Rz. 4326 ff. der Wegleitung des BSV über die Renten in der Eidgenössischen Alters-, Hinterlassenen- und Invalidenversicherung [RWL]; vgl. auch Rz. 3437 RWL), dass das erstmalige unrichtige Handeln in der Zusprache einer unbefristeten Witwenrente bestand, ist unbestritten und gibt keinen Anlass zu Weiterungen.
3.4.2. Der Beschwerdeführerin ist beizupflichten, dass sich dem "ACOR-Blatt" vom 8. Januar 1999 sämtliche hier interessierenden Informationen zu den Hinterlassenenrenten für die Beschwerdeführerin und ihren Sohn entnehmen lassen; es enthält insbesondere auch den ausdrücklichen Hinweis auf die Begrenzung der Witwenrente bis zum 18. Altersjahr des jüngsten Kindes gemäss <ref-law>. Ob deshalb die Ausgleichskasse gehalten gewesen wäre, anlässlich der Überprüfung resp. Aufhebung der Waisenrente auch die Witwenrente zu überprüfen, kann offenbleiben.
Die Vorinstanz hat nicht berücksichtigt (vgl. zum Untersuchungsgrundsatz <ref-law>), dass sich Folgendes aus den Akten ergibt (vgl. vorangehende E. 1) : Im Juli 2012 bestellte die Versicherte per E-Mail einen Auszug aus ihrem individuellen Konto (IK). Der entsprechende Ausdruck trägt den visuell hervorgehobenen Vermerk "8-ung Witw.Rente von AK 1". Es erfolgte ein IK-Zusammenruf und ein Einkommenssplitting aufgrund der Scheidung, was auch im IK-Auszug vom 17. Juli 2012 ersichtlich ist. Auf dem entsprechenden Begleitschreiben der Ausgleichskasse vom 17. Juli 2012 an die Versicherte ist - anders als etwa bei Steuerbescheinigungen - der Name der zuständigen Sachbearbeiterin vermerkt. Unter den gegebenen Umständen war es der Ausgleichskasse ohne Weiteres zumutbar, anlässlich des Versands des IK-Auszugs den Witwenrentenanspruch zumindest im Grundsatz summarisch zu überprüfen. Somit hätte sie unter Anwendung der gebotenen Sorgfalt ihren Fehler spätestens im Juli 2012 erkennen können und müssen. Folglich war die Rückforderung bei Erlass der Verfügung vom 7. Mai 2019 bereits verwirkt.
3.5. Die Beschwerde ist im Ergebnis begründet. Mit der Aufhebung des angefochtenen Urteils und des diesem zugrunde liegenden Einspracheentscheids hat es sein Bewenden.
4.
Dem Prozessausgang entsprechend hat die Beschwerdegegnerin die Gerichtskosten zu tragen (<ref-law>) und de r Beschwer deführerineine Parteientschädigung zu entrichten (<ref-law>).

Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird gutgeheissen. Das Urteil des Sozialversicherungsgerichts des Kantons Zürich vom 12. Februar 2021 und der Einspracheentscheid der Ausgleichskasse des Kantons Zürich vom 10. Juni 2020 werden aufgehoben.
2.
Die Gerichtskosten von Fr. 500.- werden der Beschwerdegegnerin auferlegt.
3.
Die Beschwerdegegnerin hat die Beschwerdeführerin für das bundesgerichtliche Verfahren mit Fr. 2800.- zu entschädigen.
4.
Die Sache wird zur Neuverlegung der Parteientschädigung des vorangegangenen Verfahrens an das Sozialversicherungsgericht des Kantons Zürich zurückgewiesen.
5.
Dieses Urteil wird den Parteien, dem Sozialversicherungsgericht des Kantons Zürich und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 30. Juli 2021
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Parrino
Die Gerichtsschreiberin: Dormann