From MozillaZine Knowledge Base
If you can't see the folder pane, see Folder pane not shown. Otherwise try one of the suggestions below:
Local directory setting
Something may changed the setting used to specify the location of the mail directory for an account and/or the Local Folders directory. This could occur by accident or if your PC crashed while Thunderbird was running. Thunderbird may be looking in the wrong location for the folders, and possibly creating default folders (inbox, template, drafts etc.) for an account at the new location because it can't find them.
Find where your profile is stored and then locate the appropriate directory. If its a mail directory it will be named after the mail server. For example, if you have a gmail account the mail directory will be stored in a "Mail\pop.gmail.com" subdirectory in your profile. If you're using a global inbox for an account it uses the Local Folders directory ("Mail\Local Folders").
Then goto Tools -> Account Settings -> Server Settings (if its a mail directory) or Tools -> Account Settings -> Local Folders , press the Browse button next to "Local directory:", browse to the correct location, and press the OK button .
Read-Only file setting
None of the mbox files or *.msf files should be read-only. Typically the problem is caused by the .msf file for a parent folder being read-only.
A mbox file is a text file with the folders name and no file extension that contains all of the messages for that folder. For example, your inbox folder is actually the "inbox." mbox file. The *.sbd files are read-only since they are subdirectories used to organize the thunderbird folder hierarchy.
Check that "View -> Messages" and "View -> Threads" are both set to "All", and that you didn't type something in the edit field next to the magnifying glass icon (a search filter) above the message listing . Check that Advanced Folder Views (its on top of the folder pane, and has left and right arrows to let you cycle through Favorites, Recent Folders etc.) is set to "All Folders".
If you don't have a "View -> Messages" menu command right click on the toolbar, select customize, drag and drop the "Mail Views" icon to the toolbar and press the OK button. Adding the View combo box to the toolbar adds that menu command.
Its possible the folders appear empty because they're corrupted. This is much more likely if you only have one or two empty folders. Exit Thunderbird, delete the mail summary files (*.msf) for those folders and see if the problem goes away. This is the quick and dirty way to fix a corrupted folder and may not work if the folder is badly corrupted. However, it takes time for corruption to get that bad and it would usually occur first with your inbox.
Message aging can be used to automatically delete messages from folders based upon the age of messages or the number of messages in that folder. Normally the folder "retention policy" setting defaults to "Use server defaults" and the account's "Offline & Disk Space" settings defaults to "don't delete any messages" and it does nothing. Check whether those settings changed. Several users have lost their messages because somehow that setting was changed to delete messages after 60 days. 
Move the folders
If some of the child folders within an account are missing try manually moving both the mbox file and the mail summary file (.msf) for those folders to a different subdirectory using Windows Explorer. Sometimes moving folders to a different position in the folder hierarchy works. Try this only if nothing else works, since it doesn't help you figure out how to prevent the problem from occurring again.
Another way to do that would be to import the mbox file using the ImportExportTools extension, selecting a different parent folder. The extension doesn't care whether the folder its importing is visible in Thunderbird.
Absolute paths in prefs.js
Thunderbird used to have just absolute paths to specify the location of the mail folders. Version 1.5 added support for relative paths. If you use it with a older profile it will add relative paths, but will give precedence to the absolute paths. This means it may still be looking in the old location for your folders if you move your profile. This problem doesn't occur if you created the profile using Thunderbird 1.5 or later.
If you move the profile and can still access your address books then the problem isn't due to Thunderbird not being able to find your profile. Use a text editor (not a word processor) to replace all instances of the path to your old profiles location with the new location. For example, if you're using XP you might need to replace all instances of "C:\\Documents and Settings\\WindowsUserAccountName\\Application Data\\Thunderbird\\Profiles\\********.default" (the default profile location) in prefs.js with "D:\\NewLocation\\NewProfile" (the new profile location).
Bug in a extension or theme
The ScheduleWorld extension caused some users to temporarily lose their folders when upgrading from Thunderbird 1.5.x to 2.x . The folders re-appeared after disabling that extension and starting Thunderbird again. The MailTweak extension for Thunderbird 3.* can hide all of your folders if you enable the hide local folders tweak. If you disable the tweak and restart Thunderbird they will re-appear. 
Those are just examples (and the bugs may be fixed by the time you read this). Try running Thunderbird in safe mode (not to be confused with windows safe mode) to temporarily disable any added extensions and themes to rule out that type of problem.
Invalid folder name
If you have empty and duplicated folders check whether the folder name has a ':'. If so, rename it.
Login to your email provider's webmail page using a browser and see if it displays the same folders.
Refreshing the list of subscribed folders sometimes helps when a few folders are omitted.
Some email providers let you control which webmail folders are visible in a IMAP account. For example, Options -> Mail Settings -> Labels controls that in Gmail webmail. The gear like icon in the upper right corner is the Options list box. Check that any missing or empty folders are enabled, if your email provider has that feature.
If Thunderbird doesn't recognize that a folder contains messages try setting mail.imap.use_status_for_biff false using the Config Editor. It causes Thunderbird to explicitly select each folder to update the message summaries, rather than use the STATUS command. It has more overhead, but some IMAP servers don't return STATUS correctly. That's a workaround normally used when unread messages are ignored but it might help in this case too.
Rather than enabling IMAP logging and looking in the log file to see if the IMAP server returns a list of folders you could right click on the remote inbox folder, select subscribe, and click on the '+' next to the INBOX to expand the folder listing. Knowing whether or not the IMAP server returns the folder listing helps to rule out some display problems. It might help to also exit Thunderbird, delete the *.msf files for the IMAP account in the profile folder and then start Thunderbird again to force it to fetch the mail headers for all of the folders in that account again.