Mostly search engines use algorithms to collect their data, or are a mixture of algorithmic and human input. On the other hand, Web directories are edited by humans.
Search engines are free to be in, not categorised.... Web directories are free but also paid exist, they are categorised... Some other differences exist obviously.
Search Engine does not provide you a valid backlink while directories provide you a backlink. Search Engine just list your website to their database while directories provide a backlink as well as store your data on their site/database.
That's the old way to look at search engines, Yahoo started as a directory and when they realized they could only list 'so many' sites in their 'directory' they started using crawlers. Directories are not really used as 'search engines' anymore.
Search engines use algorithms and use crawling system with the help of web crawlers. Directories are listing sites where you can list your site under a specified category! They may be either free or Paid.!