I am no expert on the subject but let me give it a shot. A bot is a computer program that is run usually on a webserver. It can be run for extended periods of time, it might collect information to store in a database and it may interact with other websites. Bot is the umbrella term that spiders and crawlers fall under. So all spiders are bots, but not all bots are spiders. That having been said, spiders and crawlers are somewhat synonymous terms. They are bots that go out and scour the web looking for specific types of information. The search engines for example have bots that go out and cache and index websites.
You can read this, can get more idea: google.com/support/webmasters/bin/answer.py?hl=en&answer=182072