Sachverhalt: A. Die 1958 geborene S._ meldete sich im Juli 2001 bei der Invalidenversicherung an und beantragte eine Rente. Nach Abklärungen verneinte die IV-Stelle Luzern mit Verfügung vom 2. Juni 2004 einen Rentenanspruch, was sie mit Einspracheentscheid vom 9. August 2007 bestätigte. B. Die Beschwerde der S._ wies das Verwaltungsgericht des Kantons Luzern mit Entscheid vom 17. April 2008 ab. C. S._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit den Rechtsbegehren, der Entscheid vom 17. April 2008 sei aufzuheben und die IV-Stelle habe ihr ab 1. August 2002 basierend auf einem Invaliditätsgrad von 50 bzw. 50,25 % eine halbe Rente zu bezahlen. Die IV-Stelle und das kantonale Gericht beantragen die Abweisung der Beschwerde. Das Bundesamt für Sozialversicherungen verzichtet auf eine Vernehmlassung.