Certain kinds of change become flatly impossible. Static type checking is not a magic bullet. You can still have bugs, from division by zero and null pointer indirection upwards. You still need to test your code. None of this is to say that static typing isn't worth it.
Verbosity creates opportunities for bugs.
The difficulty of dealing with static type checking takes resources away from other activities. Vendors spend time working on things like multiple inheritance and genericity when they could be working on tools like integrated development environments, profilers, automated testers, refactoring browsers. The extra complexity of the language makes such tools harder to write. Programmers put their effort into expressive type declarations instead of writing unit tests. Compile times are longer because the compiler needs to see the full interface of every variable.