static_cast vs dynamic_cast

When downcasting a Base* to a Derived*, what is the key difference between static_cast and dynamic_cast?