Hey Nathan,
I've used this one in the past <cite>www.xml-sitemaps.com/ </cite>
It works pretty decently for me, but you have to make sure you edit it after its created. Look for pages that no longer exist or are redirected somewhere else. Also make sure you aren't listing any pages with search query's in them, (www.url.com/index.php**?xxxx**) if you use search query's that way.
Updating is just what it is, every time you create a new page on your site, you need to update the site map.