I'm probably not that smart, so it just doesn't fit in my head how an adult sane person can be "milked" by a random game developer. What is this, some kind of cult where you are persuaded to give them everything you have? You can't stop donating any time you want? Are you not allowed to donate only after the developer has shown some progress? (I personally do not agree with the last sentence, a donation for me means a token of gratitude that is not tied to some milestones in the development of the game, but that's just me.) Anyway, this is more likely to indicate that you do not know how to manage your finances than that the developer is a cunning milker.
About the long development cycle, yes, it's frustrating, it's annoying, but then again, how could you expect anything different from a one-man project that is most likely done on a part-time basis. Every software development team I've seen or been a part of has experienced occasional deadline misses by some of the members. Come on, these are people, not automatic coding devices, they tend to underestimate, overestimate, miss things, they are affected by bad mood or depression or a million other reasons. When it is a team, miscalculations and mistakes of individual developers are corrected by the efforts of the rest, and as a result, the team is able to produce a stable result on average (although this does not always happen). But when it's one person, then every shortcoming or mistake made by this person immediately becomes a serious problem for the project and affects the overall result, isn't it obvious? And setting your expectations that the performance of one developer will be the same as that of the team will inevitably lead to frustration and accusation of the developer being a lazy ass. But then again, this is more a sign that you are missing the obvious and overstating expectations than that the developer is a bad bad person.