Google have confirmed that they treat dashes (-) and underscores (_) differently when they index your website in preparation of people searching for your awesome content. The difference is subtle, but important. Let’s explore it with a simple example. The example is:
Your-Article-Name – or with underscores, Your_Article_Name
The first example, Your-Article-Name, is treated by Google as meaning “Your Article Name”. This is probably what you expected to happen. In the second example, though, Your_Article_Name gets treated as “YourArticleName”. Quite different!
So the dash acts as a separator, whereas the underscore is a joiner.
What does this mean for your website? Probably not too much! Google is actually quite clever at indexing content, so the difference this makes to your website is marginal – but if you are writing a new website you should opt for dashes rather than underscores, not just because Google advise it – but also because it is more readable for your visitors, which is the most important quality of a web address.
You can watch the YouTube film from Google Webmaster Help for more details.