This depends on several things, including what application it was, how well it was prepared, whether an interview is necessary and even the area of the country where you live. At the USCIS website, you can see what the standard processing times are depending on the kind of case.
Unfortunately, many applications take a long time to process. It depends completely on the type of application, office processing it, and other factors that the other poster mentioned. You could try making an infopass appointment and asking USCIS if anything has happened or been requested in your case. Also make sure to check your case number regularly on USCIS.gov and update your address if you move.