recent comments filter by author, page, category

I don’t use widgets for this as you can easily create one and use get_comments( $args ); for the most cases for example:

10 last comments by page is :

$args = array(
        'post_id' => $post_id,
        'number' => 10,
        'status' => 'approve');

$comments = get_comments($args);
foreach($comments as $comment) :
    echo($comment->comment_author . '<br />' . $comment->comment_content);
endforeach;

but if you are not into the coding stuff you can use Wizzart – Recent Comments
plugin that does pretty much what you need.

Update

following comment: to get 10 last comments of a category and excluding the admin comments i only know of a custom sql query to get that results, something like:

            global $wpdb;
            $cat_id = 4; //category id
            $number = 10; // number of comments to get
            $filter_admin = " AND user_ID != '1'"; //exclude admin comments or any user by id
            $comments_types = "AND ( comment_type != 'trackback' AND comment_type != 'pingback')"; // get only user comments
            $term_rel = $wpdb->term_relationships;
            $comments_filter = "JOIN (".$term_rel." JOIN ".$wpdb->term_taxonomy." ON (".$wpdb->term_taxonomy.".term_taxonomy_id=".$term_rel.".term_taxonomy_id))";
            $comments_filter .= "ON (".$wpdb->comments.".comment_post_ID=".$term_rel.".object_ID)";
            $comments_filter .= "WHERE ".$wpdb->term_taxonomy.".term_id=".$cat_id." AND ".$wpdb->term_taxonomy.".taxonomy='category' ";
            $comments_filter .= $comments_types;
            $query = "SELECT * FROM $wpdb->comments "; 
            $query .= $comments_filter; 
            $query .= " AND comment_approved='1'$filter_admin";
            $query .= "ORDER BY comment_date DESC LIMIT $number"; 
            $comments = $wpdb->get_results($query);