Using filters in GMAIL is very powerful. For example, taking all the email from a specific email address or domain, applying a label and skipping the inbox gives you an automated sort of incoming mail, JUST LIKE rule based processing on say, an Exchange server. While some filters are telling the new mail to skip the inbox, and maybe other filters do not skip the inbox, it means your unread mail is in multiple places. The workaround?
Add a labs feature called "quick links", then after this is added type "label:unread" in the search window for your mail and let it find your unread messages (note: this will not search the Spam" label). Now that you have this view up, click the "add quick link" text under "Quick Links" and give it a name, like "Unread Messages", then click "OK".
Now you can see any unread email at once. I did this to clean up a customer who has "thousands" of unread messages. It's interesting to note that when you do a "select all" there is an option to not select only the 20 or 50 messages showing is selected, but you also have an option to select "all" for that label. This same "select all" function as a search does the same thing, meaning it instinctively selects "ALL" since the search parameter already found "ALL". So even though it does not prompt you for the "do you want to select all 1679 items", it actually already is and might only tell you "select hundreds" because it won;t actually give you an indication of exactly how many it matched the result against.