Part of the reason people may not be donating to games as much is because the donation prompt populates before the game has even been downloaded. At that point, they would be donating to a game that they haven't even played!
So in order to donate, one has to download the game, play it, decide it was worth donating to, and then click the download button again just to re-populate the donation prompt. That's my understanding at least, if there's a more direct way to donate that would be good to know.
Youtube has the same problem. It always makes me laugh when people tell me to "Like their video" and "Subscribe" . . . but I've only seen 10 seconds of content so far. How am I supposed to know if it's worth liking or subscribing to at that point?
Ideally there'd be a way to prompt a donation at the end of the game, but I have no clue how this would work. Maybe that's why so many mobile games go with in-game ads or microtransactions.
Also: Maybe part of the reason why some don't donate to demos is because they'd rather pay for a finished product? After all, doesn't a demo kind of imply that a "full version" is forthcoming?