Regarding the often underemphasized I/O benefit that comes with using separate files, the following comes from BOL "Using Files and Filegroups" ---> "Recommendations":
Place different tables used in the same join queries in different filegroups. This will improve performance, due to parallel disk I/O searching for joined data.