I've been building Wordpress widgets for a while and have always used some code like this:

```
$instance = wp_parse_args( (array) $instance);

```

It's never caused problems and is recommended in several places (by Justin Tadlock, two Wordpress books I have, etc.), but none of these sources really explain *why*.

So, what does this actually do, and what would happen if it was omitted?