Thunderbird only checks the Inbox for new mail in IMAP accounts by default. But you can configure Thunderbird to automatically check for new messages in other folders. There are two ways to do this but adding more folders may affect Thunderbird and/or server performance:
Right-click on remote folder, select Properties, and check the box for "Check this folder for new messages". If you need to do this for many folders, either install the FolderCheck addon (it adds "Check this folder for new messages" to the folders context menu), or do the following...
Thunderbird used to support setting mail.check_all_imap_folders_for_new to true to make it check every remote folder for new mail. The downside was there is no way to exclude a specific folder (such as a junk mail folder). However, that setting was replaced in version 5.0 with server-specific ones. Set mail.server.default.check_all_folders_for_new to true instead to make it effective for all accounts using the Config Editor.
If you are the admin for the IMAP server you may be able to configure it to check for new mail in all folders and notify the email client using the IDLE command. For example you could do this with a Courier IMAP server by setting IMAP_CHECK_ALL_FOLDERS=1 and IMAP_ENHANCEDIDLE=1 in the IMAPD file and installing the File Alteration Monitor (FAM) package. This would effect every email client using that IMAP server regardless of whether or not the user wanted to check all folders.
If Thunderbird doesn't recognize that a folder contains unread messages try setting mail.imap.use_status_for_biff true. It causes Thunderbird to explicitly select each folder to update the message summaries, rather than using the STATUS command. It has more overhead, but some IMAP servers don't return STATUS correctly.