No, it's not. But it's good practice to have one (even empty) because when bots come on your site, they look for it, and if they don't find it, you got a 404 in your logs.
Almost every website have their robots.txt because it provides the flexibility to control the search engine spiders... You can dissalow to index some directories.. you can disallow your whole site if it is under construction ... many more advantages... But robots.txt is not REQUIRED , your website will run without it
well it can harm your ranking if you add important pages or directories to it for robots not to crawl, but if you know what folders/files to add than everything will be running good and your site will be safer
do whatever you like to do with robots.txt but never ever try to insert the following line if your site is online Dissallow: / This will stop the search engines to index any part of your site This is useful for under construction sites..
404 is the code for "Not found" : http://en.wikipedia.org/wiki/404_error If you don't have special needs (forbidding some pages for instance), you can just put an empty "robots.txt" file at the root of your site. It's will be fine. If you need more infos about robots.txt, you can check this site http://www.robotstxt.org/wc/robots.html