I wouldn't call it a benefit or disadvantage, but more of a difference: `wp_strip_all_tags` simply strips all tags (except for the allowed tags) by calling the PHP function [`strip_tags`][1], after removing `script` and `style` tags in full, **including their contents**. `wp_kses` does no such thing:

    // Returns 'alert( "test" )' (content of script tag)
    wp_kses( '<script>alert( "test" );</script>', array() );
    
    // Returns '' (empty string)
    wp_strip_all_tags( '<script>alert( "test" );</script>' );

So, if you were to use `wp_kses` and set it to not allow any HTML, it would differ from `wp_strip_all_tags` in that it would not remove the content of `script` and `style` tags.

  [1]: http://www.php.net//manual/en/function.strip-tags.php