When I first downloaded Godot, I didn't donate because I had no idea if I'd even use it for long. After a year or so of using it, I came across various reminders to donate, and eventually I did (if I'm completely honest, literally just now). But most people will never come across that prompt again and will forget any need to. Its the same case with Elementary, or any other distro I've tried out. Why pay if I dont know if I'll even use it?
That being said, I can't think of any better way of asking without being obtrusive to the user. I guess you could have some really pointless badge or something you unlock by donating which could help prompt users later down the line, but I cant imagine the FOSS community would be a big supporter of that.
It has been a pretty slick experience, and that's remarkable given the general state of Linux on the desktop (admittedly, I may be more of a command line person, but still).
So maybe instead of "donate", try "pay for getting your very own feature implemented"?
1. If you're effectively hiring a developer to work on a custom feature for you, including the future costs of maintenance and code complexity, the price is going to be very high.
2. The lack of a minimize button was a UX decision. You can disagree with the decision, but if elementary implemented every feature that people with money requested, you probably wouldn't like the resulting UI. Or maybe you would, but elementary would be a very different sort of distro.
It looks like the core Elementary team was just two people. The length of time between releases makes me think they were understaffed for a while.
A business would rather get support from a larger distro with a larger support team. That market already has a number of established vendors: Red Hat, Oracle Enterprise Linux, Amazon Linux, Ubuntu server...