I would say that one of the biggest disadvantages of using STI is that if you ever add a column to a table that is not shared (and that means the same thing) between all STI models, you just blew your data integrity right there.
Zero fields in (relational) databases is what usually causes more problems than they solve.
I have been bitten by this several times, and it is especially frustrating when classes in your STI relation begin to have their own subclasses, which in turn adds even more columns to the table.
I would say that if you want to make this structure as possible as possible, I really think that CTI is a much better alternative, although it can be a little difficult to get it working with rails. This is much more complicated than STI.
At the top of my head, I can just think of one scenario where an STI might be reasonable, and that when you are dealing with transaction models (for example, deposits and withdrawals from a bank account or so on). In these cases, both models are essentially the same except for the “direction” of the transaction.
You could also argue that STI is “good” for rapid prototyping, and if you just want to build something quickly to see if it works at all, you can use STI, but as soon as you start adding columns it doesn't make sense Of all the models in regards, you should probably reorganize it into CTI or something else.
Frost source share