As of August 2007, the cost is $ 675. It must be paid using a money order payable to "USCIS". Payment is not reimbursed in the case that the application is rejected.
If you can show substantial evidence that you are unable to pay the fee, you may request a fee waiver by signing an affidavit and submitting it with your application.