Many illegals come here for the welfare and not to assimilate. America does not need low income people applying. That is destructive to an economy since many will end up on public asssitance. There are many opportunities to get work visas. Because someone applies for citizenship does not mean they are entitled to it.
Why did it take you so long?
http://www.uscitizenship.info/ins-citizenship-process.html
Depending on where and when you choose to file your application, the period of time between sending in the completed application and the interview to become a U.S. Citizen
can vary from five months to more than two years.
http://immigration-law.freeadvice.com/immigration-law/citizenship/us_citizen_filing_length.htm
Once your application if filed, the approval time to become a U.S. citizen varies by person and location. If you live in an area with heavy immigrant populations,
it is not unusual to wait 2 years or more to become a naturalized citizen. The INS claims to be working to reducing the processing time for naturalization to approximately 6 months. However, that goal has not yet been reached. In the meantime, you can take steps to prevent delays in your application.
http://uscitizenshiptestguide.com/text/apply.html
Normally it takes approximately 6 month from the date the application is filed.
However, according to the news released by US Citizenship and Immigrant Service (USCIS) on 1/16/2008, due to the significant increase in the number of applications filed, processing times have been affected. As a result, average processing times for certain application types filed after June 1, 2007, may become longer.
Citizenship applications may take approximately 16-18 months to process.