Big differences on these two methods from my point of view:
By using the first method, you will enable the sharing ability for items on all site members (Edit permission which does not have Enumerate Permissions included), by keeping the default site permission levels.
By using the second method, you will keep the site not-shareable for users, but enable the sharing ability only for Contributors. Site members with Edit permission (which is higher than Contribute) will still not be able to share documents to new users.
In addition, since you have changed the default permission level of Contribute, they will have corresponding access on other positions in this site as well.