Linear single player experiences are very expensive to make, and due to their limited replayability they risk being sold off quick. Publishers want you to stay in for the long run, this much was clear from EA's comment on the whole Visceral situation. How to make players stay? For a while, it was tacked on multiplayer components: suddenly, single player experiences like Dead Space, Uncharted, Spec Ops: The Line, Tomb Raider could suddenly not go on without a multiplayer. In many cases people didn't care about it at all, but hey, guess it helped some people stick to their copy. Regular DLCs also helps with this: if there's a constant stream of content coming, free or otherwise, and you know it's coming, you might wanna hold onto your copy and possibly invest in it more. Lootboxes and microtransactions fall in the same spot.
But the thing is, how many pure linear single player experiences do you get nowadays? Uncharted has multiplayer. Zelda and Mario are basically open-world at this point, thus not linear. Wolf2 comes to mind. The Evil Within 2 is selling poorly. With the costs of making videogames today, making a linear experience that is over in 6-8 hours is hardly feasible, hence a lot of single player only games from last gen that faded into nothingness despite the fact they could have been great franchises: WET, Remember Me, Vanquish. Those that sticked around were either open world-ish (Arkham for example) or had multiplayer elements, if not both.
With the prices of games also declining rapidly after release, it is increasingly difficult to justify 60 USD, 70 EUR and so on on a game that lasts you 6-8 hours and has nothing beyond that. It costs shitton of money to make and people will not keep their copy but will likely fuel the used market which doesn't earn them much, unless they put in MTs and DLCs and hope for the best. It is what it is.