Wordpress - Allowing users to edit only their page and nobody else's

You can add this to your functions.php file in your template to allow the user to edit pages that they have created and manage media. Just specify their $user_id (i.e. 27):

function add_theme_caps() {
    // to add capability to $user_id
    $user = new WP_User( $user_id );
    $user->add_cap( 'edit_pages' );
    $user->add_cap( 'edit_published_pages' );
    $user->add_cap( 'upload_files' );
}
add_action( 'admin_init', 'add_theme_caps' );

You can find a specific user's $user_id from the URL when you edit a specific user from the Wordpress admin page.

See the full list of Wordpress capabilities.

If you'd rather modify the built in role contributor to allow all users with the contributor role to modify the pages they created:

function add_theme_caps() {
    // to add capability to the role `contributor`
    $role = get_role( 'contributor' );
    $role->add_cap( 'edit_pages' );
    $role->add_cap( 'edit_published_pages' );
    $role->add_cap( 'upload_files' );
}
add_action( 'admin_init', 'add_theme_caps' );

Role Scope is very powerful, but I think it's overkill for this. If you set Bob and Smith to have the role of Author (one of the default roles), they'll only be able to edit their own posts.