It creates a cluttered data model. Why don’t we just have one table called objects and store everything as STI? STI tables have a tendency to grow and expand as an application develops, and become intimidating and unweildy as it isn’t clear which columns belong to which models. It forces you to use nullable columns. A comic book must have an illustrator, but regular books don’t have an illustrator