Why do dynamic languages make it difficult to maintain large codebases?

Dynamic languages have costs associated with them that static languages don't.