what is the difference between timthumb and post thumbnail?

There are two reasons:

  1. post_thumbnail was introduced with WordPress 2.9, and many themes which used TimThumb because post_thumbnail wasn’t yet available to them.
  2. TimThumb is more flexible than post_thumbnail — it gives you more options for how images are cropped, and allows for simple filters to be applied to the images.

However, TimThumb has also caused security issues, especially with sites which didn’t keep their themes (and because of this their timthumb versions) up to date. Because of this, it often makes more sense to use post-thumbnail, especially if you don’t need much beyond WordPress’ built-in cropping for thumbnails.