Sachverhalt:
A. Mit Verfügung vom 12. März 2003 sprach die IV-Stelle des Kantons St. Gallen der 1958 geborenen J._ ab 1. Februar 2002 eine halbe Rente der Invalidenversicherung zu. Unter Hinweis auf die im Gutachten der Klinik X._ vom 20. Juli 2004 ausgewiesene Arbeitsunfähigkeit von 100 % ersuchte J._ am 9. September 2004 um Überprüfung der Rente. Nach Abklärungen hob die IV-Stelle mit Verfügung vom 23. Mai 2006 die Rente auf Ende Juni 2006 revisionsweise auf mit der Begründung, der Gesundheitszustand der Versicherten habe sich verbessert und die Erzielung eines rentenausschliessenden Einkommens sei möglich. Mit Einspracheentscheid vom 15. September 2006 bestätigte die Verwaltung die Rentenaufhebung mit der substituierten Begründung, die Voraussetzungen für eine Wiedererwägung der Verfügung vom 12. März 2003 seien erfüllt.
B. In teilweiser Gutheissung der Beschwerde der J._ hob das Versicherungsgericht des Kantons St. Gallen mit Entscheid vom 4. Oktober 2007 den Einspracheentscheid vom 15. September 2006 auf und wies die Sache zur Behandlung der Einsprache im Sinne der Erwägungen an die IV-Stelle zurück.
C. Die IV-Stelle des Kantons St. Gallen führt Beschwerde in öffentlich-rechtlichen Angelegenheiten mit dem Rechtsbegehren, der Entscheid vom 4. Oktober 2007 sei aufzuheben.
J._ lässt auf Abweisung der Beschwerde schliessen und um unentgeltliche Rechtspflege ersuchen. Das kantonale Gericht beantragt die Abweisung der Beschwerde, das Bundesamt für Sozialversicherungen deren Gutheissung.

Erwägungen:
1. 1.1 Ändert sich der Invaliditätsgrad einer Rentenbezügerin oder eines Rentenbezügers erheblich, so wird die Rente von Amtes wegen oder auf Gesuch hin für die Zukunft entsprechend erhöht, herabgesetzt oder aufgehoben (<ref-law>). Anlass zur Rentenrevision gibt jede wesentliche Änderung in den tatsächlichen Verhältnissen, die geeignet ist, den Invaliditätsgrad und damit den Rentenanspruch zu beeinflussen (<ref-ruling> E. 3.5 S. 349; Urteil U 35/07 vom 28. Januar 2008 E. 3).
1.2 Nach <ref-law> in Verbindung mit <ref-law> und <ref-law> kann die IV-Stelle auf formell rechtskräftige Verfügungen oder Einspracheentscheide zurückkommen, wenn diese zweifellos unrichtig sind und wenn ihre Berichtigung von erheblicher Bedeutung ist. Die Wiedererwägung im Sinne dieser Bestimmung dient der Korrektur einer anfänglich unrichtigen Rechtsanwendung einschliesslich unrichtiger Feststellung im Sinne der Würdigung des Sachverhalts (<ref-ruling> E. 2c S. 17 mit Hinweis; Urteil 9C_215/2007 vom 2. Juli 2007 E. 3.1).
1.3 Die Wiedererwägung ist in den Schranken von <ref-law> jederzeit möglich, insbesondere auch wenn die Voraussetzungen einer Revision nach <ref-law> nicht erfüllt sind. Wird die zweifellose Unrichtigkeit der ursprünglichen Rentenverfügung erst vom Gericht festgestellt, so kann es die im Revisionsverfahren verfügte Aufhebung der Rente mit dieser substituierten Begründung schützen (<ref-ruling> E. 2 S. 369; Urteil I 61/2007 vom 4. Mai 2007 E. 3). Im Urteil 9C_11/2008 vom heutigen Tag hat das Bundesgericht diese Rechtsprechung bestätigt und sie auch im Verwaltungsverfahren als anwendbar erklärt.
Entgegen der Auffassung der Vorinstanz hat die IV-Stelle somit nicht Bundesrecht verletzt, indem sie die Substitution der Begründung als zulässig erachtete.
2. Gemäss Vorinstanz ist der Einspracheentscheid vom 15. September 2006 dennoch aufzuheben. Entgegen der Auffassung der IV-Stelle mache eine unzureichende Sachverhaltsabklärung allein eine formell rechtskräftige Rentenzusprache nicht zweifellos unrichtig. Dieser Mangel biete nur Anlass, ein Wiedererwägungsverfahren zu eröffnen. Dabei sei ein materieller Entscheid über die Aufhebung der ursprünglichen Rente erst möglich, wenn die damals zu Unrecht unterbliebenen Sachverhaltsabkärungen nachgeholt würden. Daraus könne sich auch ergeben, dass die formell rechtskräftige Rentenzusprache eben doch richtig gewesen sei.
2.1 Zweifellose Unrichtigkeit der ursprünglichen Rentenverfügung kann auch bei unrichtiger Feststellung im Sinne der Würdigung des Sachverhalts gegeben sein (E. 1.2). Darunter fällt insbesondere eine unvollständige Sachverhaltsabklärung aufgrund einer klaren Verletzung des Untersuchungsgrundsatzes (vgl. <ref-law> und <ref-law>). Trifft dies zu, erübrigt es sich, den damals rechtserheblichen Sachverhalt weiter abzuklären und auf dieser nunmehr hinreichenden tatsächlichen Grundlage den Invaliditätsgrad zu ermitteln. Abgesehen davon, dass einen weiter zurückliegenden Zeitraum betreffende Abklärungen häufig keine verwertbaren Ergebnisse zu liefern vermögen, geht es im Kontext darum, mit Wirkung ex nunc et pro futuro einen rechtskonformen Zustand herzustellen (Urteil 9C_11/2008 vom heutigen Tag E. 4.2.1).
2.2 Aufgrund der Akten stützte sich die Rentenverfügung vom 12. März 2003 in medizinischer Hinsicht einzig auf den Bericht des behandelnden Psychiaters Dr. med. S._ vom 18. Dezember 2002. Dieser stellte die Diagnose einer posttraumatischen Belastungsstörung nach einem Verkehrsunfall und erachtete eine leichte, körperlich angepasste, stressfreie Tätigkeit während vier Stunden pro Tag als zumutbar. Dieser Bericht allein stellt keine genügende Grundlage für eine Rentenzusprache dar, wie die IV-Stelle zu Recht geltend macht. Davon geht letztlich auch die Vorinstanz aus, wenn sie die zweifellose Unrichtigkeit der ursprünglichen Rentenzusprache verneint, da diese erst anhand nachzuholender Sachverhaltsfeststellungen zu beurteilen sei.
Die Diagnose wurde einzig aufgrund der Angaben der Beschwerdegegnerin gestellt, und die Beurteilung der Arbeitsfähigkeit erfolgte ohne nähere Begründung. Weitere Abklärungen wären zwingend erforderlich gewesen, insbesondere in Bezug auf die Diagnose. Dass solche unterblieben, stellt eine klare Verletzung des Untersuchungsgrundsatzes dar. In diesem Sinne ist die ursprüngliche Rentenzusprache vom 12. März 2003 zweifellos unrichtig.
Die Vorinstanz hat somit zu Unrecht den Einspracheentscheid vom 15. September 2006 aufgehoben und die Aufhebung der halben Rente pro futuro durch die IV-Stelle nicht materiell geprüft. Das wird sie nachzuholen haben.
3. Dem Begehren um Gewährung der unentgeltlichen Rechtspflege und Verbeiständung (Art. 64 Abs. 1 und 2 BGG) kann entsprochen werden, weil die Bedürftigkeit auf Grund der eingereichten Unterlagen als ausgewiesen gelten kann, die Vertretung durch einen Rechtsanwalt oder eine Rechtsanwältin als geboten erscheint und die Rechtsbegehren nicht als aussichtslos bezeichnet werden können (<ref-ruling> E. 2.3.1 S. 135, 128 I 225 E. 2.5.3 S. 235). Die Beschwerdegegnerin wird der Gerichtskasse jedoch Ersatz zu leisten haben, wenn sie später dazu in der Lage ist (<ref-law>).

Demnach erkennt das Bundesgericht:
1. Die Beschwerde wird in dem Sinne gutgeheissen, dass der Entscheid des Versicherungsgerichts des Kantons St. Gallen vom 4. Oktober 2007 aufgehoben und die Sache an die Vorinstanz zurückgewiesen wird, damit sie über die wiedererwägungsweise Aufhebung der Rente durch die IV-Stelle entscheide.
2. Der Beschwerdegegnerin wird die unentgeltliche Rechtspflege gewährt.
3. Die Gerichtskosten von Fr. 500.- werden der Beschwerdegegnerin auferlegt, indes vorläufig auf die Gerichtskasse genommen.
4. Rechtsanwalt Rainer Braun wird als unentgeltlicher Anwalt der Beschwerdegegnerin bestellt, und es wird ihm für das bundesgerichtliche Verfahren aus der Gerichtskasse eine Entschädigung von Fr. 1000.- ausgerichtet.
5. Dieses Urteil wird den Parteien, dem Versicherungsgericht des Kantons St. Gallen, der Ausgleichskasse des Kantons St. Gallen und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 29. April 2008
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Die Gerichtsschreiberin:
i.V. Lustenberger Dormann