1. Have you created your custom field correctly?
Make sure to read the readme file that came in your theme's ZIP file and follow the thumbnail custom field creation instructions. In most cases you will need to create a custom field with a Name/Key of "Thumbnail" (this is case sensitive) and a Value of your image URL. Some themes also require multiple custom fields to be created, usually for Featured Articles. In this case you would need to create a second custom field, as outlined in the readme, for all featured articles.
2. Are the images hosted on your domain?
The timthumb script requires that all images being resized be hosted on the same domain as your WordPress blog. This is a security measure put in place by the author. If you are trying to use images from an outside sources it will not work.
3. Does your cache folder have the correct permissions?
You need to give your /cache/ folder full permissions. In most cases this is "777" but it may vary depending on where you are hosted. If 777 does not work, try 755. It is recommended that you contact your host about what permissions to use if you are not sure. Settings permissions is also known as CHMODing, and can be done using most FTP programs and hosting control panels.
4. What path are you using for your thumbnail image?
In most cases using the full path to your image should work. For example, you would input http://www.mydomain/blog/wp-content/uploads/image.gif (or whatever the path to your image is). However, some hosts do not allow the use of http://www. at the end of a URL. In this case you should use the relative path to your image, and remove your domain from the URL. In the above case, assuming your blog is hosted in the /blog/ folder, the path to your image would just be: wp-content/uploads/image.gif.
5. Is your blog using www.?
Within wordpress you can change the URL of your blog. Sometimes this involves removing the www. from your URL, in which case all visitors directed to http://www.yourdomain.com would be redirected to http://yourdomain.com. Go to your website and type in the full URL: http://www.yourdomain.com. If it redirects, and removes the www., then you should also remove the www. from your thumbnail image URL's. (the ones you placed in the Value section of your custom field)
6. Is your image extension valid?
A few times I have seen users that have images with the wrong extensions. For example, a PNG image has been saved with a .JPG extension. This can confuse the script. Make sure that your image have the correct extensions. To figure out what extension it should have, type the URL of your image in your browser and view the image. Right click it and choose "Properties."
7. Does your server have the GD library compiled with its version of PHP?
This script requires the GD library to be installed. If your thumbnails are not working, check with your host to make sure that you have it.
8. Does your server have mod_security settings that are impeding the scripts functionality?
Some servers may have mod_security settings that will stop the script from working. You should always contact your host if you are having problems to make sure they do not have settings enabled that would stop the script from working.
9. Is the image you are trying to resize HUGE?
If the source image for your thumbnail is very large in resolution your server might not have enough memory to create the cached image. This often occurs when people try to use a 12 megapixel photo from their camera. Try resizing your image down to around 500px in width before adding it to the custom field if you are experiencing problems.
10. Are you using the latest version of the script?

Make sure you are using the latest version of timthumb.php. If you downloaded your theme a long time ago, try re-downloading it and re-uploading timthumb.php, or simply grab the source code from Darren.

11. Are you hosted with HostGator?

If you are hosted with HostGator then you will need to contact them in order to get thumbnails to work. By default, as mentioned above, they have mod_security settings enabled that do not allow the script to function. Also, HostGator does not allow 777 permissions. Instead, you should CHMOD your cache folder to 755. Also make sure that timthumb.php is set to 644. I have many users hosted with HostGator that have their themes working fine, it is just a matter of getting someone to help you that knows what they are talking about (if you do, your theme will be working in no time). However, because their tech support can sometimes be frustrating a user from the forums has outlined their conversation and process with HostGator in order to better help new members. If you are hosted with HostGator I would recommend reading the following PDF.

HostGator Timthumb Help Guide