Optimizing Search for Google

You should use hyphens in your page names. In general, this page name:

computer-parts.php

Will likely rank higher in the search engines than these page names:

computer_parts.php
computerparts.php

Why? Because separating with hyphens gives the search engine an easy way to separate the keywords from one another, giving the domain more SEO power. Hyphens are universally accepted as a keyword separator by all major search engines. Yahoo and MSN recognize the underscore (_) as a keyword separator; Google does not. Google at least has admitted that they recognize hyphens as word separators whereas underscores are ignored. Therefore, computer-parts would be seen as " computer parts" whereas computer_parts would be seen as "computerparts". People search on "computer parts", not "computerparts." You optimize for the actual keywords people search on. You should also optimize for Google as they have the lion's share of the search market.

Now in some cases, the search engines can parse out your keywords (for example, 'computer-parts.php' could be deemed to be relevant to 'computer' and 'parts' keywords without ambiguity. But in other cases, the search engines might be confused.

Many say that separators are not necessary as search engines can find keywords in URLs without assistance. Also untrue. Well, not entirely. They are smart and most likely can pick some keywords out of a URL. But they are not that smart. Sometimes it is not obvious where one keyword ends and another begins. For example: expertsexchange.com can be seen as "experts exchange" and "expert sex change". These are obviously two very different topics. In this case a hyphen would clearly separate the keywords and solve this problem. (from http://www.sitepoint.com/forums/showthread.php?t=182915)

Bottom line: use hyphens in your page names to optimize your URLs for the search engines and improve your rankings.

See these articles for more information: