Its biggest flaw is the requirement that processes state maximum resource needs in advance. This is often impossible to know in most real-world systems.