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.
Yes and yes.
Best practise is to use hyphens and lowercase. Simple as this.
While lower-case with hyphens would be how I would go now, I don't think it matters as much from a pure SEO perspective.
If you search Google for a college on my site Vast Rank with hte following search, you can notice Google highlights the word Stanford just fine in the URL (I don't use hyphens or lowercase).
So to answer the original question, I don't believe hyphens or capitalization affect SEO from a ranking standpoint, but I do think it may marginally help with click through rate if it is more readable.
Agree with Michael Trafton, Hyphens are more SEO friendlier than underscore in the URL. So, You have to use Hyphens to separate words from each other.
And the second one is that search engines (or web servers) consider the same meaning either that words are in capital or small letters. But keep remember that some web servers consider that words two different as they differ in font (capital and small fonts). To avoid that confusion always try to use small fonts.