One thing you might want to make sure of, is that you keep the time related data only in one place, you don't want to examine multiple tables when fetching data for certain time period(s). Also, if you need to make retroactive updates, it becomes even more cumbersome, you need to manipulate data in both tables. If you have complex relations and business rules in place, you need to apply it in both cases.. And when it comes to reporting it is yet another issue.
In the system I worked with (it was a huge financial app, sort of) there was both of these approaches in use, more recent tables were modeled having the time data in one table, earlier approach was to use historytables for past data and another for current data. The one which made dev team have more gray hairs was the historytable approach.
Naturally you might want to normalize the schema to not to duplicate unnecessary data such as names and so on, the sample in earlier post was just copy paste from the articles sample.
Edit:
Another issue you need to take in consideration is; how often do you access the history data, do you need to modify it a lot, update existing rows, delete history rows. If you are keeping records of history for auditing purposes only, separate history table might be the way to go. But I feel employee salary is more a complex case.