I used to hate this, but honestly I'm so fed up with cheating that I actually kind of accept this now. Especially for leaderboard cheating.
For example, I play DJMAX on PC, it's a rhythme game, so naturally with a big focus on scoring. It has online only, to prevent cheating, and I can't tell you how good it feels to be able to browse leaderboards, best scores on each songs, rankings etc, with no cheat at all, I mean it sounds super basic but it's something that usually doesn't exist anymore, so it really feels amazing. Leaderboard cheating is the type of cheating I hate the most, because as someone really into arcade / scoring games, cheats in leaderboard will instantly ruin the potential long term scoring of the game, it ruins the whole potential, it's so sad and frustrating...
But I totally can see the problems with online only, if the servers close one day, the game will be rendered unplayable, which is obviously terrible too.
I think a good alternative would be like what some publishers do with denuvo, removing it at some point. Keep it online only to prevent cheating, but when you do decide to close the server, update the game one last time to make it playable offline, for preservation.