Think of it this way...
1) The tiny_mce_before_init
filter can be used by any plugin/theme.
2) We have WP Edit Pro adding custom styles; and your theme is adding custom styles.
3) We both call the tiny_mce_before_init
filter.
Now... when everything is processed... WP will first run my filter; and then your filter. Your filter is ran last. Since my custom styles are never accounted for in your filter.. then the function will only process your styles (since it will overwrite mine).
Therefore.. the style_formats_merge
will work as described above.. and will never take into account other plugin custom styles... unless you specifically check first for their existence :)