Sachverhalt: A. Die 1962 geborene J._ meldete sich im März 2002 bei der Invalidenversicherung an und ersuchte um eine Rente. Nach Abklärungen und Durchführung des Vorbescheidverfahrens sprach ihr die IV-Stelle des Kantons St. Gallen mit Verfügungen vom 16. März und 25. April 2007 bei einem Invaliditätsgrad von 47 % ab 1. März 2002 eine Viertelsrente zu. B. Die Beschwerden der J._ wies das Versicherungsgericht des Kantons St. Gallen nach Vereinigung der Verfahren mit Entscheid vom 14. Februar 2004 (recte: 2008) ab. C. J._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit den Rechtsbegehren, der Entscheid vom 14. Februar 2004 (recte: 2008) sei aufzuheben und es sei festzustellen, dass ihre Arbeitsfähigkeit weniger und demzufolge der Invaliditätsgrad mehr als 60 % betrage; eventuell sei festzustellen, dass das zumutbare Invalideneinkommen weniger als Fr. 24'000.- und damit der Invaliditätsgrad mehr als 60 % betrage; sodann sei die Sache zur Neufestlegung der Rente an die IV-Stelle zurückzuweisen. Die IV-Stelle beantragt die Abweisung der Beschwerde. Das kantonale Gericht und das Bundesamt für Sozialversicherungen verzichten auf eine Vernehmlassung. 