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.
Change a class, and the static checks must be revalidated for every part of the system that uses. It all mitigates against code quality. Personally I have mixed feelings about all this. I strongly believe in the advantages of static type checking. Most of the problems above are to do with making types manifest, explicitly and redundantly declared in the source code, rather than latent and deduced by the compiler.