Ruby on Rails
Java, Distributed Systems
Most of the current CMSs mix their "bare" source code with configuration data, third party plugins, themes, etc. One example is Drupal where your settings.php configuration is found under the sub folder sites/default, third party themes under themes and third party modules under sites/all/modules. If you want to have your code in a version control system and at the same time support easy updates to all those software parts, a clever setup is required.
Wordpress is similar, e.g. the "wp-content" folder - hence the approach shown also applies to Wordpress.
How often did you download your production database to your development machine? And how often did you write a script for that?
You're first dumping your MySQL production database - easy. Then you download it with scp or ftp or ... to your local development machine and then you overwrite your existing database with that dump - easy. But: those are three steps. Often you do it manually, "because I don't need it that often"... Don't you?