But then I realized something. The genre where level-grinding has become most widespread and cancerous - MMORPG's (as far as I know) has no win or loss conditions. There absolutely is no "Game over, you won," nor even a "Game over, you lost" - there is no winning or losing no matter what you do, in fact.
Does the win condition need to be formalised in the code for it to satisfy this? Most MMO players have clear objectives they are trying to reach, and approach them in exactly the same game-y way they would any other game. In terms of user behaviour they are most certainly playing a game.
Also do remember that the majority of players don't finish the games they play. Is Skyrim less of a game because I stopped playing it after 30 hours?
Someone else mentioned sandboxes - I think this is a whole category of games, and generally a strict end-of-game win condition in them is either optional or even undesirable. This is of course quite different from competition games (win/lose) or completion games (save/restore until you reach the end). All of them still share a vast array of common game design elements.
Besides, when it comes to articles on game design I think the court is completely open on where to take lessons from. There's lots of great info on web-site design for designing interfaces for instance, or from various mobile apps for touchscreen interactions. And gamification is leaking into all sorts of fields. It doesn't need to be a strict game to be worth looking at.