Google treats hyphens as spaces, which is good for getting your keywords into your URL (Google loves this). It does not do the same with underscores, so you definitely want to use hyphens instead of underscores.
Google doesn't particularly care whether you use capital letters or not, but there are a couple of things to keep in mind. First is that some web servers are not case sensitive. By that I mean that www.mysite.com/Hello will return the same page as www.mysite.com/HELLO and www.mysite.com/hElLo. This is good, because when other people link to your site, they may not get the link exactly right. The second thing to consider is that by convention, urls with lower case letters are standard. If you violate this convention, some people that link to you may use all lower case letters, and if your web server IS case sensitive, the link won't work. What I recommend is that if you have a choice, use a web server that IS NOT case sensitive.
Another thing to think about related to uppercase/lowercase is that it's harder to pick out separate words when they all run together in the same case. This is typically only an issue with print advertising (billboards, brochures, etc.). In these cases, I would want to print www.MySite.com rather than www.mysite.com, since it's much easier to pick out the individual words when they are capitalized.