In a lot of large software projects there are some very critical requirements that require very critical choices be made early. For example, when building large web-application that has to sustain millions of requests per minute, a choice of the database, database schema and scalability options can play a critical role, yet it might be impossible to decide upfront which option suits your needs better. Typical agile-style decision would be to run a couple of architecture spikes to stress-test the potential solutions. Unfortunately sometimes such trials can take as much time as a half of the whole project.
