Agile is for when you don't know what you're making and you're basically improvising. People forget that.
Correct, and it was applied top-down to teams that do larger infrastructure / implementations in known areas / etc.
There are costs to pouring out a cement foundation without thinking through how many floors your building is going to be in advance.
But if you don't know what you are making, it is the only option!