The best is that Agile avoids the pitfalls of trying to make and update a conventional schedule analysis, i.e. a resource-leveled critical path analysis of a software project. By deferring task assignments to the start of each iteration, you avoid frequent replanning. In other words, Agile is a practical approach for software development projects. It fits the nature of unique and hard to predict task durations.
The worst is when an expediently trained "Scrum Master" with no domain expertise in coding, but equipped with a fully loaded jargon vocabulary tries to "manage" a team of coders.