From what I’ve read, it appears that (in 2015) the hyphen is preferred, although either is fine. If underscores are what you’ve been using, there does not seem to be any overwhelming reason to go back through a website and update all of the file names or URLs. But if you are just starting out, or are in a position to transition from point forward, then use the hyphen.
When you create a new page or post in WordPress, the system automatically adds hyphens to the URLs it creates for you.
If you are uploading image files into a WordPress environment, you should consider using hyphens for complex file names to stay consistent with the WordPress convention. Also, in the event that an image file becomes a part of a URL (as in an attachment page view), you would not want the hyphen and underscore elements to mix. So for WordPress, at least, you should be using a hyphen on complex file names added to the Media library.
Matt Cutts, from the Google Webmaster Series makes a brief point on this: