Well in short, a sitemap is the fastest way to get the pages you want crawled by search engines. By creating a sitemap your giving search bots a direct path to the every page url of your site, making it easy to find and index those pages.
Its pretty slick when you think about how many pages a search engine like google has to dig through looking for new pages to index and add, by you creating a sitemap (depending on the size of your site) your can significantly speed up the whole process. Which helps the bots and you.
How it works is really simple, your basically laying out a map of your entire site. When a crawler/bot locates a site, it has to dig through ever page indexing them as it moves through each page. An example: Lets say your tasked to complete a very large maze, but as you move through the maze you have to keep track of which turns you've already taking, which turns were wrong, etc... Now odds are you'll make it out, but when? Now if you had a map that showed you the entire maze and correct path, well then its no longer a maze, its just a simple walk.
That said, you also pick up some bonuses by using a sitemap. You can control the priority of each URL - Page of your site in terms of importance (set priority). In doing so you gain better control over duplicate content urls, protecting yourself from being penalized. You also shouldn't get any ranking or indexing penalties if you happen to submit the wrong sitemap file. You can use multiple sitemaps, allowing you to have better control over your sites strucure and how its seen in the eyes of crawlers.
The list goes on and on and I'm sure others will add more to the topic. IMHO, if your serious about SEO work a sitemap has to be on your to do list.