Gentlemen,
Here are some reasons to have separate companies:
1. Different legal entities, i.e., different FEIN
2. Company has different functional currencies or is located in other countries, hence different tax jurisdictions.
3. Customers view the two companies as separate, hence expect separate statements from each, which implies separate aging reports, and separate customer service departments.
4. Vendors view the two companies as separate, hence expect separate payments from each, even if one company pays on behalf of the other.
5. Each company track inventory differently, for example one on FIFO perpetual the other one on LIFO
6. One could also argue that a lot of the reporting can be accomplished with Crystal/SSRS, however, if you start to see yourself thinking about this too much, then most likely you are better off with separate companies.
7. Each company has its own accounting staff.
8. Each company has its own employees and do not share them, and issue payroll separately from each other.
Subsidiaries do not count as separate companies, though I have seen them managed either way (as separate companies or as one database with a company account segment).
I have seen companies go down the one database path, only to regret it down the road. I have seen companies gone down the multiple databases path, only to regret it too. However, there is not one definate clear cut as to what would make one company go down one road versus the other.