Why are you using $_REQUEST[‘featured-page’]? Your input name is _featured-page and you should use $_POST not $_REQUEST.
Try something like this.
add_action("admin_init", "register_post_assets");
function register_post_assets(){
add_meta_box('featured-page', __('Featured Page'), 'add_featured_meta_box', 'page', 'advanced', 'high');
}
function add_featured_meta_box( $post ){
global $post;
$custom = get_post_custom($post->ID);
$_featured-page = $custom["_featured-page"][0];
?>
<label>Featured Page</label>
<?php
$is_featured = get_post_meta($post->ID, '_featured-page', true);
$checked = ($is_featured == "yes") ? 'checked="checked"' : null; ?>
<input type="checkbox" name="_featured-page" value="yes" <?php echo $checked; ?> />
<?php
}
add_action('save_post', 'save_featured_meta');
function save_featured_meta( $post_id ){
global $post;
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return $post_id;
}
update_post_meta( $post_id, "_featured-page", $_POST["_featured-page"]);
}