There is no such thing as “the best methodology”. The ideal method is the one that simply works and serves in delivering the project successfully. I have read several books on project management and each book supports a different methodology that actually worked best with the author .
From my experience, I always go traditional (waterfall) when it comes to infrastructure projects. Projects that actually requires more than 4 weeks to get a single millstone done, for example, delivering a server rack or connecting a fiber optic cable between two sites. On the other hand, if it’s a software project with a lot of ambiguities, I go agile. Agile will work well if the scope is not clear at the beginning of the project, for example, what menu items you really need in the home page or what color is more comfortable to the end-user and so on. So change requests will be easy to implement as in agile we use adaptive or iterative planning method by involving the end-user more frequently.