Well, 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 require 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 on 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 methods by involving the end-user more frequently.