I see a lot of hate here against flat design, and it makes sense. A lot of designers abuse it, making their UIs ambiguous. It's probably true that if flat design was never conceived, UIs would be less confusing on average.
But it's clearly possible to do flat design well. iOS is mostly flat, but it's quite beautiful and user friendly. You usually know when something is a button because the context makes it obvious. If it's not obvious, it's probably not a critical feature, just a nicety for those who discover it. There will always be people who hate everything Apple designs, but I think they're usually channeling a hatred of something else, like monopolies or proprietary things.
Moreover, I think flat design is not a fad but an inevitability. As a rule, designs become more abstract over time, because as users get more used to UIs, they need fewer clues. It used to be that UIs needed to be skeuomorphic to be familiar and recognizable, but now simple outlines can do the job.
Why do we need to remove unneeded clues, you ask? To make room for more important things. If Instagram was littered with gradient buttons and blue underlined links, they'd draw attention away from the real content, the pictures. If Figma had too much personality, it'd influence users' designs.
You could argue that we've gone too far too fast. I don't have a dog in that fight. But I would bet my big toe that we're not going to reverse time and end up with skeuomorphism again. Instead, we're going to take advantage of faster GPUs to visualize abstractions in ways we couldn't before. We're seeing that with blurred background effects becoming more common. I for one am excited to see what's next.