Data History Table vs Using a Current Record Flag
If we're explicitly discussing Slowly Changing Dimensions in a Data Warehouse scenario and you're following the Kimball methodology, there's actually more than 2 different ways of doing this.

The Kimball methodology has 7 different ways of recording SCDs (scroll down to Slowly Changing Dimension Techniques in the link). Types 1, 2 and 3 are apparently the most common, I don't really know of anyone using 5, 6 or 7.

The history table being Type 4, is the one I currently use. It allows us to keep the 'live' table as compact as it can be. We rarely query the history tables, so they're really just there for when we need to audit the history of a dimension. There is no relationship between this table and any others and it has a surrogate ID as the Primary Key.

I've worked in places where we've used Type 2, which is the Flag method and it can lead to unnecessarily large table growth on a key table. However, that's just my experience!