How to separate words in URLs?

It has been proved that dashes (-) between words are better than underscores (_). Even if Google has no preference, you will notice that if you use an underscore between two words, Google will consider it as being only one word.

E.g: if you use:

- word1_word2: Google will only return that page if the user searches for word1_word2
- word1-word2:  your page can return for the searches word1, word2, or “word1 word2”.