For example, the Carcassonne app on iOS is the base game (a board game), but you can buy expansions through IAPs. That mirrors how the physical game is sold (you buy the base game and add expansions as you want).
Expansions are basically new tiles and figures that add new game mechanics.
It’s fair for both buyer (they only buy the expansions they actually want but still don’t have to buy the game multiple times in different permutations) and the developer (they make money for the additional time they put in adding expansions).
Actually, I think IAPs are the only way to correctly solve this problem (short of the ridiculous expectation that developers should not make money from expansions), especially since it’s also possible to combine expansions (something not possible if you were to sell different Carcassonne+River, Carcassonne+Princess, etc., apps).
It’s really a shame that stupid smurfberries are ruining the fun for everyone.