Static and Dynamic routing both have their strengths and weaknesses.
Static routing is most commonly used in smaller environments because of its physical nature. You can more manually control the flow of network traffic as per the routing and provide a more secure environment.
Static routing also hase the major downside of being heavy on the overhead for administration. It is typically only smaller-scale, however, sometimes used in larger scale deployments. It is difficult to manage so many routes in those larger environments, thus causing some issues.
Dynamic routing is just that: Dynamic. It can automatically manage the routing for an environment, whether it be small or large. In addition to that, dynamic routing also bring a certain level of automation to your network failover plan.
Security. If any network admin adds a route to any router, it gets propagated unless you have some serious security in place. This becomes a problem in large environments since you may add routes that interfere with existing subnets for those networks that have more than one copy of a particular RFC1918 subnet (most commonly).
Ultimately, you will want to use Dynamic Routing for those situation in which you need the reliability more than the security, and static routing where you need the security more than the reliability.